9月14作业总结

来源:互联网 发布:上海新致软件编程题 编辑:程序博客网 时间:2024/05/29 17:12
第一题:instanceof作用是什么?
 
 判断变量指向的对象,是否匹配指定类型。如果变量为null,那么返回false。


第二题:什么是抽象方法?什么是抽象类?


如果一个类中的方法只有方法定义,没有方法具体实现,那么该方法就称为抽象方法。
而拥有抽象方法的类叫做抽象类,用关键字abstract定义。抽象类不能直接实例化,如果要实例化抽象类,
那么抽象类的变量需要指向子类对象


第三题:接口如何定义?接口如何实现?实现一个接口必须要做什么?




定义接口使用interface。
实现接口使用implements。


接口是一种行为的抽象。
接口可以看做是抽象类的特例。
抽象类中可以有抽象方法,可以有具体方法。
但接口中只能有抽象方法。


第四题:接口中的方法修饰符是什么?接口中的变量修饰符是什么?


接口中定义的方法都是抽象方法,修饰符为public abstract。即使不写,也是公共的抽象方法。


接口中可以定义变量,其修饰符是 public static final (公共静态常量)


第五题:接口和抽象类的区别是什么?


抽象类和接口的区别:


1. 抽象类和接口都不能直接实例化。
2. 抽象类中可以有抽象方法,也可以有具体方法。但是接口中只能有抽象方法。
3. 抽象类中定义的变量是普通属性。但是接口中定义的变量是公共的,静态的常量。
4. 一个类只能继承一个抽象类,但可以实现多个接口。


第六题:什么时候使用继承?什么时候使用接口?


如果一个类中的方法只有方法定义,没有方法具体实现,那么该方法就称为抽象方法。
而拥有抽象方法的类叫做抽象类,用关键字abstract定义。抽象类不能直接实例化,如果要实例化抽象类,
那么抽象类的变量需要指向子类对象。




代码查错:


a 定义抽象方法,不能有方法的实现。
b 私有的方法,默认申明为final,不能被子类重写。但申明为抽象方法,是要求该方法子类重写。
所以矛盾。
抽象方法不能申明为私有的private和静态static。
c 子类对象产生之前必须调用父类的构造方法产生父类对象。那么子类构造方法的第一句默认为super()
如果父类中没有定义无参构造方法,那么子类构造方法必须显示调用。
d  多态调用时,父类变量指向子类对象,只能调用父类中的抽象方法,不能调用子类抽象方法。
e  当打印X时,引起歧义。不知道X是父类中继承的X,还是从实现接口中得到的X。
要访问父类中,继承的X属性,通过super.x 的访问。
要访问接口中定义的X,由于接口中定义的变量修饰符为:public static final
通过接口名.x访问。
0 0
原创粉丝点击