1.多态性的理解
一个事物的多种形态。
1.1.向上转型,和向下转型。
向下转型:使用子类独有的方法,用a instanceof A,判断a对象是不是A类的同类或是A类的子类。是就转型。
向下转型:直接转。
抽象类和接口的实现
抽象类:abstract不能实例化。
接口:interfance
Object类的使用
数组也是Object类的子类
equals的重写
public boolean equals(Object obj) {
System.out.println("我重写");
if (this == obj) {
System.out.println("我进去了吗");
return true;
}
else if (obj instanceof text_object) {
System.out.println("到得了吗");
text_inherite inherite = (text_inherite) obj;
return inherite.age == this.age && this.name.equals(inherite.name);
}else {
System.out.println("我怎么到这里了");
return false;
}
==和equals方法的区别
本身无属性
空参
equals():比较 (知识点 1.重写 2.和==的区别)
toString():遍历
toString方法
问题:这怎么输出地址值?
解答:toString是sout的默认功能,打印String和Date等某些特殊类的内容,其他引用数据类型打印地址值,或通过重写方法打赢内容
int[]k=new int[]{1,2,3};
System.out.println(k.toString());
重写toString
public String toString() {
return "年龄"+this.age+"姓名"+this.name;
}
单元测试方法(不需要在psvm中测试)
引入三个包,单元测试方法必须是public,要有无参构造器。
包装类(为了使基本数据类的变量具有类的特征,引入包装类)
1.是引用数据类型
2.包装类和基本数据类型和Sting数据类的转换(为了使值能够做加减)
3.在java5.0后引入解包,打包方法,包装类和基本数据类共通,不用valueof转了。
Interger i =String.valueof();
int k =Integer.parsexx();
String l = "123" ;
int k = Integer.parseInt(l);
问题,子类继承父类
父类拥有子类的属性和方法吗?