Java程序设计-面向对象(二)

7. 封装思想

是指将属性私有化,对外提供公共的访问形式(getter,setter)
注意:私有仅仅是封装的一种体现

8. 构造方法(Constructor)

  1. 特点:
    • 构造器的名称与类名相同
    • 构造器不用定义返回值类型
    • 构造器没有具体的返回值
  2. 作用:
    • 给对象进行初始化
  3. 注意:
    • 默认构造器的特点
    • 一个类中多个构造器是以"重载"的形式体现的
  4. 重载:
    • 方法名相同,参数列表不同

9. this关键字

  • 用法1:
    当成员变量和局部变量重名时,可以使用this来区分
    this:代表对象,代表当前对象,this就是所在方法所属对象的引用。简单说:就是哪个对象调用this所在的方法
    this就代表哪一个对象

  • 用法2:
    this还可以在构造器中调用构造器

10. 抽 象类(abstract)

抽象:笼统、模糊、看不懂、不具体

  1. 抽象类的特点:

    • 方法只有声明没有实现时(没有方法体),该方法就是抽象方法,需要被abstract修饰,抽象方法必须定义在抽象类中,该类也必须使用abstract修饰
    • 抽象类不可以被实例化(不可以被new)因为调用抽象方法没有意义
    • 抽象类必须由其子类覆盖了所有的抽象方法后,该子类才可以实例化,否则,这个子类还是一个抽象类
    • 抽象类和抽象方法非常适合做"系统的分析和设计的工具"
  2. 问题:

    • 抽象类中有构造器吗?
      有,可以给子类对象进行初始化

    • 抽象类中可以不定义抽象方法吗?
      可以,但是很少见
      适配器类

      abstract class A{
        void show1(){}
         void show2(){}
       }
      
    + 抽象(abstract)关键字不可以和下列哪些关键字共存?
     private不行,抽象方法需要被覆盖
     static不行
     final不行
    
    + 抽象类一定是父类吗?
      一定是
      
    + 抽象类和一般了类的异同
       相同点:
       抽象类和一般类都是用来描述事物,
    都在内部定义了成员
    不同点:
    1)一般类有足够的信息描述事物
      抽象类描述事物的信息可能不足
    2)一般类中不能定义抽象方法,只能定义非抽象方法
    抽象类中可以定义抽象方法,也可以定义非抽象方法
    3)一般类可以被实例化
    抽象类不能被实例化
    
posted @ 2021-12-04 14:53  多喝热水。  阅读(64)  评论(0)    收藏  举报