Java听课笔记——10.23

1.类的封装:等于是复习了上一节课的东西

修饰关键字有: private   protected public  ,缺省

注意:缺省的修饰符在同一包中可以访问,不同包中不能访问

类封装的原则:(同C++):

变量为private型,方法(函数)和接口为public

连接上一节课的static,static修饰的方法和变量可以在没有创建对象的情况下直接进行访问

即:使用类名引用法进行访问

static变量游离在对象之外,只有一个副本,

一些工具类的定义多用static 比如math.abs();函数

注意:如果在非static方法中使用了外部定义的static变量,则错误是编译失败!

2. 继承(也是上一节课讲过的)

继承的目的:代码的复用

一、方法的多态:

(1).重载:   同名不同参

(2).重写overwrite (覆盖):同参同返回值

父子类之间发生,子类中重写父类中的函数可以进行覆盖  

(3).若参数相同却返回值不同:报错!

(一样则覆盖,不一样则重载,异同参半报错!)

二、类型的多态:

(1).isA关系(即是关系)

(2)2.hasA关系(举例:person对象包含生日(时间)对象)

三、编译时多态

(1).编译时多态:

(2).运行时多态:

子类对象即是父类,

父类对象引用子类:例:Animal animal = new Bird();

比如在调用对象的时候,取决于animal调用的方法是Animal还是Bird声明的

3.抽象类

必须用abstract修饰;

本身不能被实例化对象,只能作为其它类的超类

抽象方法的定义规范,加分号。

定义的方法分为抽象方法(被抽象类实现的)和实例方法(未被实现的)

可以没有抽象方法,但是构造方法不能是抽象方法

抽象类继承: 必须给出抽象方法的实现,并且必须实现所有的。

抽象类的意义:给出一种约束规范

4.接口:

new右键新建interface

ava interface 类中所有的成员方法都是抽象的;

接口由实现该接口的类来提供方法的具体实现。

一个Java接口是由一组常量和抽象方法定义组成。

接口的定义:

接口中的方法可以不加abstract修饰,因为接口里没有抽象的概念 

 注意:接口中不可以有构造方法!!!!!!!

补充:类的重构:refactor ->rename 

接口的实现:

接口继承:

类似类的继承,使用extends

 

比较抽象类和接口:

相同点

都包含抽象方法

都不能被实例化

都是引用数据类型 

不同点:

约定:      

抽象类:  约定了多个子类共同使用的方法.        

接口:     约定了多个互不相关的类之间共同使用的方法

继承性:       抽象类与子类之间采用单继承机制      

一个类实现多个接口则可以实现多重继承

结构:       抽象类中可以包含非抽象方法,也可以声明构造方法.    

接口中的方法全是抽象方法,不能声明构造方法

访问权限:      抽象类具有和普通类一样的访问权限      

接口和类也是一样的访问权限,但是成员只能是public权限

成员变量:     抽象类中可以声明成员变量,子类可以对该成员变量赋值    

接口只能是常量      

猜你喜欢

转载自blog.csdn.net/lannister_awalys_pay/article/details/83375996