匿名对象:
如果一个对象不给引用变量赋值,就是匿名对象,匿名对象只能使用一次;
例: new Perosn("张三");
System.out.println(new Person());//输出null;
匿名对象的注意事项:
1.匿名对象如果不给引用变量赋值,只能使用一次
2.匿名对象可以作为方法接收的参数和返回值使用
3.在向集合添加元素的时候也可以使用
继承
概念1:在定义一个类时,如果与已有类的功能相似,并且属于已有类的一种,此时可以将要定义的类定 义为已有类的子类.
概念2:多个类有共同属性,可以向上抽取,将这些特性抽取到一个新的类中,新的类与多个类之间的关 系也叫做继承.
格式:
class A extends B{}
继承后子类将拥有父类所有可继承的属性和行为,可以自动调用父类所有可继承的功能.
特点:
1.Java中只允许单继承,不允许多继承
2.可以多层继承
3.所有的类都直接或间接继承于Object类
方法重写:
子类继承父类后,觉着父类的功能不够强大,可以按照自身的逻辑重新定义此方法
或是父类的方法,子类继承后,必须重写父类的抽象方法.
注意事项:
1.可以使用@Override来验证方法是否重写
2.子类方法的访问权限必须大于等于父类的方法的方法的访问权限
3.方法名和参数列表必须保持一致
关键字:
this 对象的引用
super 当前对象中父类空间的引用
super(实际参数)可以在子类的每个构造方法的第一行,调用父类的构造方法
this(实际参数)可以在本类中调用其他的构造方法
每个子类的构造方法的第一行,都有一个默认的super()调用父类的空参构造方法,只有object类没有
this.成员变量;
super.成员变量
当子类和父类的成员变量重名时,使用this和super来进行区分;
this.成员变量访问的是本类的成员变量
super.成员变量访问的是父类中非私有的成员变量
如果不同名,使用哪个都可
this.成员方法(实际参数)
super.成员方法(实际参数)
当子类和父类的成员方法同名时,使用this和super来进行区分.
this.成员方法(实际参数),调用的是本类的成员方法
super.成员方法(实际参数),调用的是父类的非私有成员方法
抽象类
多个类有共性内容,可以向上抽取,但是有时方法的声明相同,方法的主体不同,此时,可以向上抽取
只抽取方法的声明,不抽取方法主体,这个方法就称为抽象方法,有抽象方法的类就称为抽象类.
格式:
public abstract class A{
public abstract 返回值类型 方法名();
}
抽象类的使用:
1.抽象类不可以创建对象
2.定义子类继承抽象类,子类对象调用抽象类的功能
3.重写父类的抽象方法
4.创建子类对象,调用方法
注意事项:
1.抽象类可以有具体的方法,给子类使用
2.抽象类可以没有抽象方法
3.抽象类可以有多个抽象方法,子类必须全部重写抽象方法,否则,子类也是抽象类
4.抽象类有构造方法,供子类使用.