-
1:equals()方法:比较的是对象的引用是否指向同一块内存地址
Dog dog = new Dog(); Dog dog2 = new Dog(); if(dog.equals(dog2)){ System.out.println("两个对象是相同的"); }else{ System.out.println("两个对象是不i相同的"); }
其中 if(dog.equals(dog2))与if(dog==dog2)类似
查看全部 -
object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承object类
object类中的方法,适合所有子类
1:toString()方法
在object类里面定义toString()方法的时候返回的对象的哈希code码(对象地址字符串)
可以通过重写toString()方法表示出对象的属性
例:
public String toString(){ return "Dog[age="+age+"]"; }
查看全部 -
super关键字:在对象的内部使用,可以代表父类对象
1:访问父类的属性
super.age
2:访问父类对象的方法
super.eat()
super的应用:子类的构造过程中必须调用其父类的构造方法
若子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法
若要显示super方法,则必须将代码写在第一行
如果子类构造方法中既没有显示调用父类构造方法,而父类又没有无参的构造方法,则编译出错
查看全部 -
匿名内部类:无名字的内部类(关注实现而非类名)
查看全部 -
接口:类实现的规范,类-系统自动加abstract关键字,常量-系统自动加public static final,方法-系统自动加public abstract
public interface 接口名 [extends 父接口1,父接口2,...]
查看全部 -
抽象类:规定子类要实现的方法,可包含普通方法,不能创建
查看全部 -
向上类型转换(自动):小->大 Animal animal = new Dog();
向下类型转换(强制):大->小 Dog dog = (Dog)animal;
instanceof解决向下转换安全问题:判断当前引用是否包含类型
if (animal instanceof Dog)
查看全部 -
多态:父类引用指向父类/子类的对象,这样调用的方法是父类/子类的方法(若子类方法独有,则不能多态)
查看全部 -
Dog dog = new Dog()
dog不是对象而是地址
2. equals():比较是否指向同地址,跟==相同(可重写比较值是否一致)
查看全部 -
Object类是总父类,若没有extends则类默认继承Object类
Object类的方法
1. toString():返回对象地址(可重写返回对象属性)
查看全部 -
super表示父类
super.属性/方法
子类构造时必须调用父类构造方法(隐式super();,但父类构造方法有参时必须显式调用)
查看全部 -
final属性:必须在属性/构造方法初始化
查看全部 -
初始化执行顺序
先父类后子类
先属性后构造方法
总初始化顺序:父类属性,父类构造方法,子类属性,子类构造方法
查看全部 -
创建静态内部类不需要先创建外部类
查看全部 -
内部类通过this访问同名的外部类变量和方法
外部类名.this.变量
查看全部
举报