Java程序设计-面向对象(二)
7. 封装思想
是指将属性私有化,对外提供公共的访问形式(getter,setter)
注意:私有仅仅是封装的一种体现
8. 构造方法(Constructor)
- 特点:
- 构造器的名称与类名相同
- 构造器不用定义返回值类型
- 构造器没有具体的返回值
- 作用:
- 给对象进行初始化
- 注意:
- 默认构造器的特点
- 一个类中多个构造器是以"重载"的形式体现的
- 重载:
- 方法名相同,参数列表不同
9. this关键字
-
用法1:
当成员变量和局部变量重名时,可以使用this来区分
this:代表对象,代表当前对象,this就是所在方法所属对象的引用。简单说:就是哪个对象调用this所在的方法
this就代表哪一个对象 -
用法2:
this还可以在构造器中调用构造器
10. 抽 象类(abstract)
抽象:笼统、模糊、看不懂、不具体
-
抽象类的特点:
- 方法只有声明没有实现时(没有方法体),该方法就是抽象方法,需要被abstract修饰,抽象方法必须定义在抽象类中,该类也必须使用abstract修饰
- 抽象类不可以被实例化(不可以被new)因为调用抽象方法没有意义
- 抽象类必须由其子类覆盖了所有的抽象方法后,该子类才可以实例化,否则,这个子类还是一个抽象类
- 抽象类和抽象方法非常适合做"系统的分析和设计的工具"
-
问题:
-
抽象类中有构造器吗?
有,可以给子类对象进行初始化 -
抽象类中可以不定义抽象方法吗?
可以,但是很少见
适配器类abstract class A{ void show1(){} void show2(){} }
+ 抽象(abstract)关键字不可以和下列哪些关键字共存? private不行,抽象方法需要被覆盖 static不行 final不行 + 抽象类一定是父类吗? 一定是 + 抽象类和一般了类的异同 相同点: 抽象类和一般类都是用来描述事物, 都在内部定义了成员 不同点: 1)一般类有足够的信息描述事物 抽象类描述事物的信息可能不足 2)一般类中不能定义抽象方法,只能定义非抽象方法 抽象类中可以定义抽象方法,也可以定义非抽象方法 3)一般类可以被实例化 抽象类不能被实例化 -

浙公网安备 33010602011771号