栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

day

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day

1.Object 1.1是什么
 
1.2Equals 
 
package day_13text;

public class Text01 {
	
}
class Student{

	private int id;
	private String name;
	
	@Override
	public boolean equals(Object obj) {
		//需求:规定ID和name都相同 就是同一个人
		//先比较地址,地址一样说明是同一个对象直接返回true
		if(this == obj){
			return true;
		}
		//说明不是同一个对象,那么需要判断是否是同类,不同类没有可比性
		if(obj instanceof Student){
			//向下转型,否则会丢失子类特有的属性(多态的缺点)
			Student s = (Student)obj;
			//String中覆写了equals方法,比较的是值
				if(this.id == s.id && this.name.equals(s.name)){
					return true;
				}
		}
		//到这里说明不是同类对象,没有可比性,或者属性不一致直接返回false
		return false;
	}
	
	
	

}
package day_13text;

public class Text02 {
	public static void main(String[] args) {
		String s1 = new String("abc");
		String s2 = new String("abc");
		//比较的是s1 s2的地址
		System.out.println(s1 == s2);
		//比价的是字符串内容
		System.out.println(s1.equals(s2));
		
	}
}
1.3Finalize
 
package day_13text;

public class Text03 {

	public static void main(String[] args) {
		Text03 t =new Text03();
		t=null;
		//程序员可以建议垃圾回收器回收
		System.gc();
		for(int i =0;i<10000000;i++){
			new Text03();
		}
	}

	@Override
	protected void finalize() throws Throwable {
		System.out.println(this+":要被回收了");
	}
	
}
1.4hashCode
 
package day_13text;

public class Text04 {

	public static void main(String[] args) {
		Text04 t = new Text04();
		// 15db9742
		System.out.println(t);
		// 366712642
		System.out.println(t.hashCode());
		// 15db9742   toHexString : 转换为16进制显示,是Integer类中的静态方法
		System.out.println(Integer.toHexString(366712642));
	}

}
1.5toString
 
package day_13text;

public class Text05 {

	public static void main(String[] args) {
		Person person1 = new Person(1, "张三", 18);
		Person person2 = new Person(2, "李四", 19);
		System.out.println(person1);
		System.out.println(person2);
	}
}
class Person {
	private int id;
	private String name;
	private int age;

	@Override
	public String toString() {
		return "我叫" + this.getName() + ",我的编号是" + this.getId() + ",我今年"+ this.getAge() + "岁了";
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public Person(int id, String name, int age) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
	}

}
2.类与类之间的关系简述

类与类单继承

接口与接口多继承

类与接口多实现

package day_13text;

public class Text06 {
	public static void main(String[] args) {
		// 依赖
		A a = new A();
		B b = new B();
		a.setB(b);
		a = null;
		// xxxxx
		C c = new C();
		c.setB(b);
	}
}
class A {
	// 关联
	private B b;

	public B getB() {
		return b;
	}

	public void setB(B b) {
		this.b = b;
	}

}
class C {
	
	private B b;

	public B getB() {
		return b;
	}

	public void setB(B b) {
		this.b = b;
	}
}
//多继承
interface E extends F, R {
}

interface F {
}

interface R {
}
//多实现
class B extends C implements E, F {

}
3.内部类 3.1是什么
 
3.2成员内部类 
package day_13text;

public class Text07 {
	private static String s1 = "私有化静态";
	private String s2 = "私有化成员";

	// 成员内部类,没有static修饰
	// 可以使用权限控制修饰符的
	// 成员内部类中可以 直接 访问外部类的所有属性
	// 在成员内部类中不能有静态声明
	// 内部类编译之后的类名为 : 外部类类名$内部类类名
	class InnerClass {
		// static int a = 1;
		// public static void m1(){}
		public void m2(){
			System.out.println(s1);
			System.out.println(s2);
		}
	}
	public static void main(String[] args) {
		// 外部类对象
		Text07 outerClass_01 = new Text07();
		// 通过外部类对象创建内部类对象
		InnerClass innerClass = outerClass_01.new InnerClass();
		innerClass.m2();
	}
}
3.3静态内部类
package day_13text;

public class Text08 {
	private static String s1 = "私有化静态";
	private String s2 = "私有化成员";

	// 静态内部类,使用static修饰
	// 可以使用权限控制修饰符的
	// 内部类编译之后的类名为 : 外部类类名$内部类类名
	// 在静态内部类中 成员也能声明 静态也能声明
	// 在静态内部类中,无法直接访问外部类的成员属性,需要有对象才行
	static class InnerClass {
		public void m1() {
			System.out.println(s1);
			// System.out.println(s2);
			// 创建外部类对象才能调用 外部类的成员属性
			Text08 o = new Text08();
			System.out.println(o.s2);
		}

		public static void m2() {
			System.out.println(s1);
			// System.out.println(s2);
			// 创建外部类对象才能调用 外部类的成员属性
			Text08 o = new Text08();
			System.out.println(o.s2);
		}
	}
	public static void main(String[] args) {
		Text08.InnerClass.m2();
		// 外部类类名可以省略
		InnerClass.m2();
		// 创建对象
		InnerClass innerClass = new Text08.InnerClass();
		// 外部类类名可以省略
		innerClass = new InnerClass();
		innerClass.m1();
	}
}
3.4局部内部类
 
package day_13text;

public class Text09 {
	private static String s1 = "私有化静态";
	private String s2 = "私有化成员";

	public void m1() {
		final int i = 100;
		class InnerClass {
			// static int x=2;
			public void m3() {
				System.out.println(s1);
				System.out.println(s2);
				System.out.println(i);
			}
		}
		// 不能在更改
		// i=2;
		// 局部内部类只能在方法内部使用
		// 创建内部类对象
		InnerClass innerClass = new InnerClass();
		innerClass.m3();
	}
	public static void m2() {
		final int i = 100;
		class InnerClass {
			public void m3() {
				System.out.println(s1);
				// 静态方法中的内部类,不能直接访问外部类的成员属性,需要创建外部类对象才行
				// System.out.println(s2);
				System.out.println(i);
			}
		}
		// 不能在更改
		// i=2;
		// 局部内部类只能在方法内部使用
		// 创建内部类对象
		InnerClass innerClass = new InnerClass();
		innerClass.m3();
	}
	public static void main(String[] args) {
		Text09 outerClass_03 = new Text09();
		outerClass_03.m1();
		m2();
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/327925.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号