OOP2

1.继承

1.1:使用继承:

1、编写父类,创建公共的属性和方法

2、编写子类使用extends继承父类

3、编写子类中特有的属性和方法

1.2注释事项:

1、super关键字代表父类,只能出现在子类的方法和构造方法中

2、在子类构造方法中使用super调用父类构造方法,必须位于第一句;

3、子类不可以直接访问父类中定义为private的属性和方法 - private的东西是不能被继承的,不能继承构造方法。

1.3:

object是所有类的父类

 

 

 

 

 2.方法的重写

使用:当父类中的方法不能满足子类的需要

1.方法的重写又称方法的覆盖,一般用于子类根据需要可以对父类中的方法进行重新编写

重写的前提是:必须在继承体系下,也就是必须存在继承关系

2.方法重写的原则:

1、方法名必须相同

2、参数列表必须相同

3、返回值类型相同或者是其子类

4、访问权限相同或不能严于父类

3.重写和重载的区别:

重载:同类同名不同参,与其他无关(同一个类中,方法名,参数列表不同--个数不同,类型不同,顺序不同)

重写:在子类和父类中存在,同名同参同返回值同访问修饰符的方法(返回值可以是其子类,访问修饰符不能比父类更严格)

 3.什么是多态:

1、抽象类为什么不能实例化?

2、抽象类可能会存在抽象的方法,抽象方法是不完整的,抽象类中的构造器是用来子类实例化的时候调用的,子类要加载父类的属性和方法。如果被调用,完全没用意义

3、抽象类中是否可以存在构造方法?

4、可以有构造方法。构造方法的作用有两个,一个是初始化变量,另外一个是实例化对象给子类调用

5、抽象类和抽象方法的关系?

6、抽象方法必须在抽象类中去声明,抽象类中可以有抽象方法也可以没用

7、abstract来修饰一个类时,这个类叫做抽象类,特点是:不能实例化;用abstract来修饰一个方法时,该方法叫做抽象方法。

8、1.抽象方法:在类中没有方法体的方法,就是抽象方法。
2.抽象类:含有抽象方法的类就叫抽象类。
3.抽象类中的抽象方法必须被实现!
4.如果一个子类没有实现父类中的抽象方法,则子类也成为了一个抽象类

9、抽象类能不能继承普通类?

10、可以,只要不是密封类。

11、普通类能不能继承抽象类

12、可以,只要不是密封类。

13、抽象方法和普通方法的的区别?

14、抽象方法不具有方法体 ,而普通方法有方法体

2、抽象方法需要用abstract修饰

15、如果一个类中有抽象方法那么这个类必须声明为抽象类,普通类都可以存在

16、被继承是抽象方法必须要被子类重写普通方法没有要求

17、抽象类和普通类的区别?

 2含有抽象方法的类必须是抽象类,抽象类中也可包含普通的方法,也可以包含静态方法.但是抽象类不可使用static修饰

抽象类可以有构造函数(被private修饰),但是他不能被实例化.普通类也有构造函数,可以被实例化.

抽象类的子类必须实现该类的所有抽象方法,不然该子类也得是抽象类.

抽象类中是否有静态方法?

静态是属于字节码的一个抽象类可以没有抽象方法,只是为了不让别人来实例化它; 以上两点可以说明,静态方法只要有字节码存在就可以运行,所以抽象类中可以有静态方法

是否有抽象的静态方法?

不可以

 4.抽象类:

2、抽象类和抽象方法的关系  

1:有抽象方法的类,一定是抽象类,但抽象类不一定有抽象方法;

2:一个类继承抽象类,必须重写抽象类中的所有抽象方法,如果没有全部重写,那么子类必须声明为抽象类

3:没有抽象构造方法,也没有抽象静态方法

4:抽象类中可以有构造方法,创建子类的实例时调用

1、抽象类和普通类的区别 

1、语法不同,抽象类是被abstract修饰的类,普通类一定不能被abstract修饰;

2、抽象类中可以有抽象方法,普通类一定不能有抽象方法;

3、抽象类不能被实例化,普通类可以去实例化调用;- 创建对象

4、抽象类被继承时,子类必须重写全部的抽象方法,或者将子类声明为抽象类;普通类继承普通类的时候,没有任何限制;

 

posted on 2021-12-02 17:01  giaogiaoSang  阅读(104)  评论(0编辑  收藏  举报