面对对象程序设计(进阶)
A24计科4班-陈圣壕-202402150297
一,什么是继承:继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
class 父类{
}class 子类 extends 父类{
}
二,方法重写:当父类的方法不能满足子类的需求时,可以在子类中重写父类的方法,重写也称为复写或者覆盖。(方法体可以改,方法名不可改)
重写与重载的区别:方法的重写和重载是 Java 多态性的不同表现。重写是父类与子类之间多态性的一种表现,重载是一个类中多态性 的一种表现。
三,final关键字
(1)final修饰的类不可以被继承,但是可以继承其他类
(2)final修饰的方法不可以被重写
(3)final修饰的变量是常量,只能被赋值一次
(4)final修饰的引用类型变量不能改变它的引用地址,但是可以改变对象内部属性的值
四,多态:多态是面向对象的三大特性之一,指的是同一方法调用,由于对象不同可能会有不同的行为,多态的前提是必须存在继承,并且子类重写了父类的方法,最重要的一点是父类引用要指向子类的对象。
五,抽象类:
抽象类
1.抽象类是用来解决类无法多继承的问题
2.抽象类中的default与访问修饰符中的不一样,在抽象类中的的default指的是有默认实现
3.static void fun(){
System.out.println("static");
}只能通过接口名来进行访问
如在Mian方法中Student.fun();
4.在抽象类中定义一个int a = 2;a的值不可变,其有默认前缀public static final
5.在抽象类中定义一个抽象方法:void fun();这个有默认前缀public abstract,并且它不需要在方法内写内容。但是在他的子类中,是需要对这个方法进行重写的
6.抽象类需注意的四点要求
(1)抽象方法只有方法声明,没有方法体,它必须交给子类重写
(2)子类如果也是抽象类,则不一定需要实现父类的抽象方法
(3)抽象方法必须被子类重写,因此抽象方法的访问修饰符不能是private
(4)由于抽象方法没有具体的方法体,无法用一个抽象的对象调用它,因此抽象类不能被实例化
(5)抽象类可以有构造方法
六,内部类:
匿名内部类:
1.创建了一个类,这个类没有名字,所以叫匿名类
2.这个类实现了People接口
3.这个类重写了People的抽象方法
4.通过new创建了这个类的对象
内部类
外部类->内部类:在平等的基础上,有了一点特权,内部类可以访问其他内部类的private
内部类->外部类:到反天罡,内部类可以无视规则,直接访问外部类的属性;用法上也像:外部类的也是内部类的
成员内部类:就是在一个类中再定义一个类
局部内部类:在某个场景下,可以用来临时表达一下复杂的数据
静态内部类:就是内部类有static关键字修饰。
再外部类调用静态内部类时要:外部类名.静态内部类 变量名=new 外部类名.静态内部类();
外部类调用非静态内部类:先创建一个对象。再使用外外部类.内部类 = 新建对象的变量名.new 内部类();
七,异常类:
异常和异常的处理
运行时异常:在运行的时候才会出现
编译异常:在编译的时候出现的异常
异常的解决
1.可以使用try...catch,在当前的位置上进行解决问题
2.可以在方法名后加上throws关键字来向上抛出异常,谁调用该方法就要去处理异常
在写代码的时候想要抛出异常可以使用throw关键字
浙公网安备 33010602011771号