第二周:面向对象部分内容总结(1)---面向对象三大特性

面向对象

1、封装

1、构造方法

1、构造方法的方法名和类名相同

2、当我们没有自定义构造方法,系统会自动产生一个无参数的,什么都不做的构造方法。

3、当我们自定义构造方法后,系统的默认构造方法不会自动产生,必须手动加上。

4、构造方法的作用就是完成对象的初始化操作。

5、构造方法也可以重载(overload)

6、构造方法在new对象的时候自动调用。

7、如果在本类中的构造方法需要互相调用时,使用this()进行调用,但是需要注意留有一个出口,防止递归调用。

8、通过this()调用构造方法时,必须放在构造方法的第一行。

2、 方法重载(OverLoad)

1、在同类中。

2、方法名一样

3、参列表不同(参数的个数或者参数的数据类型)。

4、与返回值无关

 

3、static关键字(重点)

Static可以修饰变量,这个变量称为静态变量、也称为类变量。

Static也可以修饰方法,被static修饰的方法,称为静态方法或者类方法

类方法调用:类名.静态方法名();

Static可以修饰代码块,被static修饰的代码块称为静态代码块,静态代码块只执行一次。

静态的只能调用静态的。非静态的可以调用静态的。

4、封装

封装就是隐藏内部细节,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

方法是对代码的封装。类是对属性和方法的封装。

2、继承

1、继承的好处:

1.可以提高代码的复用性(重复使用)

2.继承使类与类之间产生了关系,是多态的前提

特点:

1、在java中,继承具备单根性。说白就是一个类只能有一个直接父类。

2、继承具备传递性,它可以多个间接子类。

3、在java中,java.lang.Object是所有类的父类。

4、在创建子类时,会默认调用父类的无参构造方法。然后再调用子类的构造方法。

父类不能被继承的成员:

1、private修饰的属性

2、子类与父类不同包,权限修饰符用默认的成员

3、构造方法

2、super关键字(重点)

1、Super可以访问父类继承过来的属性和方法:super.属性、super.方法()

2、Super()可以用调用父类的构造方法,但是必须放在构造方法的第一行。

3、Super在调用父类构造方法时,与this调用构造方法时不能共存。

3、继承关系下的执行顺序(重点)

父类静态代码块初始化

子类静态代码块初始化

父类属性初始化

父类的代码块执行了

父类构造方法执行了

子类属性初始化

子类的代码块执行了

子类构造方法执行了

总结:  如果有静态的就先执行父类的静态,后执行子类的静态,

   静态执行完,先执行父类里的变量初始化操作,然后代码块,最后构造方法。

   然后再到子类,顺序同父类。

4、方法重写

1、方法名相同

2、参数列表相同

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

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

5、重写方法不能使用比被重写方法抛出更多的异常

5、abstract关键字

1、abstract可以修饰一个类,被abstract修饰的类称为抽象类,抽象类不能实例化。

2、abstract修饰的方法称为抽象方法,抽象方法没有方法体。

3、如果一个类中有抽象方法,则这个必须定义为抽象类。

4、如果一个子类继承了某个抽象类,则这个子类必须重写抽象类中的所有的抽象方法,除非这个子类也是抽象类。

5、抽象类中可以没有抽象方法

6、final关键字(重点)

final可以修饰类、方法、变量。

1、被final修饰的变量称为常量,常量不可以修改

2、被final修饰的基本数据类型不能改变值

3、被final修饰的引用数据类型地址不能被重新指向。

4、被final修饰的方法不能被重写

5、被final修饰的类不能被继承

在jdk中,常用final修饰的类有:

1、java.lang.String

2、java.lang.StringBuffer

3、java.lang.Integer

4、java.lang.System

5、java.lang.Class等。。。。。

3、多态

1、多态的好处:

提高代码的可扩展性

2、什么是多态?

生活中:多态实际上就是同一种事物的不同形态。

在程序中指的就是:同一个引用类型,使用不同的实例而执行不同操作。

3、多态实现条件:

1、继承关系下

2、方法重写

3、父类引用指向子类对象:

1、将父类作为方法的参数。

2、 将父类作为方法的返回值。

2、 类型转换(重点)

向上转型: Fu f = new Zi();

向下转型: Zi z = (Zi)f; //要求该f必须是能够转换为Zi的。

向下转型注意事项

    • 向下转型的前提是父类对象指向的是子类对象(也就是说,在向下转型之前,它得先向上转型)

    • 向下转型只能转型为本类对象(猫是不能变成狗的)。

instanceof关键字:

(对象 instanceof 类) 返回boolean类型的值。

instanceof 在使用时,对象所在类和后面的类型要在同一颗继承树上,否则会编译报错。

 

今天就总结到这了,下周继续!!!!!奥里给!!!

posted @ 2020-09-26 20:04  StephenTy  阅读(166)  评论(0)    收藏  举报