本篇文章为你整理了面向对象进阶第二天(面向对象进阶第二天考什么)的详细内容,包含有面向对象进阶第二天会怎么样 面向对象进阶第二天考什么 面向对象的阶段 面向对象oo 面向对象进阶第二天,希望能帮助你了解 面向对象进阶第二天。
如果该成员只希望本类,同一个包下的其他类和不同包下的子类访问,使用protected修饰。
注意:final修饰基本数据类型的变量,其存储的数据不能改变。final修饰引用类型的变量,其存储的地址不能改变,但是指向的对象内容可以改变。
// 请在下方声名一个常量VERSION_NAME,值为"v1.0.0",用于记录系统的版本名称。
public static final String VERSION_NAME = "v1.0.0";
抽象类是什么?abstract修饰的类
抽象方法是什么?abstract修饰的方法,不能写方法体。
如果父类知道子类一定要做这件事,但是每个子类做的不一样,父类可以声明抽象方法,交给子类重写来实现。这个类就是抽象类了。
一个类继承了抽象类必须重写完抽象类的全部抽象方法,否则这个类也必须定义成抽象类。
模板方法已经定义了通用结构,模板方法不能确定的部分定义成抽象方法,交给子类实现,因此,使用者只需要关心自己需要实现的功能即可。
对于方法的调用:编译看左边,运行看右边
Animal a = new Cat(); a.run();
b、多态下,父类类型作为方法的入参,可以接收一切子类对象,这样更利于方法的扩展和便利性。
Java规定,有继承/实现关系的类就可以强制转换,编译阶段不会报错。但是运行时可能出现类型转换异常,ClassCastException。
Animal a = new Cat(); Dog d = (Dog)a;
Java建议在进行强制转换之前先通过instanceof判断真实数据类型,再强转
Animal a = new Cat(); if(a instanceof Cat) { Cat c = (Cat)a; }
Java提供了一个关键字interface,用这个关键字我们可以定义出一个特殊的结构:接口。
public interface 接口名 { // 成员变量(常量) // 成员方法(抽象方法) }
JDK8之前接口中只能是常量和抽象方法,没有其他成分了。
接口本质上是一种规范,约束实现接口的类必须具备某种能力。
注意:接口不能创建对象;接口是用来被类实现(implements)的,实现接口的类称为实现类。
修饰符 class 实现类 implements 接口1, 接口2, 接口3 , ... { }
一个类可以实现一个或多个接口,实现类实现多个接口,必须重写完全部接口中的全部抽象方法,否则实现类需要定义成抽象类。
因此,我们可以在继承类的同时,实现1个或多个接口,语法如下:
修饰符 class 实现类 extends 基类名 implements 接口1, 接口2, 接口3 , ... { }
让程序可以面向接口编程,这样程序员就可以灵活方便的切换各种业务实现(多态思想)。
默认会public修饰。需要用接口的实现类的对象来调用
default void defaultMethod() { System.out.println("接口中的默认方法"); }
注意:接口的静态方法必须用本身的接口名来调用。
static void staticMethod() { System.out.println("接口中的静态方法"); }
静态私有方法还能在本类的其他静态方法中访问。
private void privateMethod() { System.out.println("接口中的私有方法"); }
一个类实现了多个接口,多个接口中存在同名的默认方法,可以不冲突,这个类重写该方法即可。
以上就是面向对象进阶第二天(面向对象进阶第二天考什么)的详细内容,想要了解更多 面向对象进阶第二天的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。