面向对象进阶第二天(面向对象进阶第二天考什么)

  本篇文章为你整理了面向对象进阶第二天(面向对象进阶第二天考什么)的详细内容,包含有面向对象进阶第二天会怎么样 面向对象进阶第二天考什么 面向对象的阶段 面向对象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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: