9.16做题所得

抽象类

特点:
1.抽象类中可以构造方法
2.抽象类中可以存在普通属性,方法,静态属性和方法。
3.抽象类中可以存在抽象方法。
4.如果一个类中有一个抽象方法,那么当前类一定是抽象类;抽象类中不一定有抽象方法。
5.抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类也需要定义为抽象的。
6,抽象类不能被实例化,抽象类和抽象方法必须被abstract修饰

关键字使用注意:
抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问修饰符修饰。

接口

1.在接口中只有方法的声明,没有方法体。
2.在接口中只有常量,因为定义的变量,在编译的时候都会默认加上public static final
3.在接口中的方法,永远都被public来修饰
4.接口中没有构造方法,也不能实例化接口的对象。(所以接口不能继承类)
5.接口可以实现多继承
6.接口中定义的方法都需要有实现类来实现,如果实现类不能实现接口中的所有方法则实现类定义为抽象类。
7,接口可以继承接口,用extends

 

super出现在继承了父类的子类中。有三种存在方式:
第一种:super.xxx;(xxx为变量名或对象名)
这种方法意义为,获取父类中的名字为xxx的变量或方法引用。
使用这种方法可以直接访问父类中的变量或对象,进行修改赋值等操作
第二种:super.xxx();(xxx为方法名)
这种方法意义为,直接访问并调用父类中的方法。
第三种:super();
这种方法意义为,调用父类的初始化方法,其实就是调用父类中的public xxx()方法

此外,super只能指代其直接父类,在父类中调用super能指代父类的父类。

 

 

 定义一个对象时,以本类另一个对象作为初始值,发生复制构造;

l  如果函数的形参是类的对象,调用函数时,将使用实参对象初始化形参对象,发生复制构造;

l  如果函数的返回值是类的对象,函数执行完成返回主调函数时,将使用return语句中的对象初始化一个临时无名对象,传递给主调函数,此时发生复制构造。

posted @ 2019-09-16 15:38  有趣的男人  阅读(118)  评论(0编辑  收藏  举报