JAVA面向对象的复习

文章目录

  • 1 面向对象的三条主线
  • 2 类的成分
    • 2.1 属性
      • 2.1.1 变量的分类
      • 2.1.2属性的声明格式
      • 2.1.3 对属性的赋值的操作
    • 2.2 方法
    • 2.3 构造器
    • 2.4 代码块
    • 2.5 内部类
  • 3. 类的初始化(创建类的对象)
    • 3.1 如何创建类的对象
    • 3.2 内存解析:
    • 3.3 子类对象实例化的全过程
  • 4.面向对象的三大特性
    • 4.1 封装性
    • 4.2 继承性
    • 4.3 多态性
  • 5.其它关键字
    • 5.1 this
    • 5.2 super
    • 5.3 static
    • 5.4 final
    • 5.5 abstract
    • 5.6 interface
    • 5.7 package import
  • 6 参考资料

JAVA面向对象的复习_第1张图片

1 面向对象的三条主线

1.类及类的成分
2.面向对象的三大特性
3.其他的关键字:this super import package abstract static final interface等

1.java程序是关注于类的设计。类从代码的角度:并列关系! 从执行、设计的角度:关联关系、继承关系、聚合关系
class A{

}

class B{
A a = new A();
}

2 类的成分

  • 属性

  • 方法

  • 构造器

  • 代码块

  • 内部类

2.1 属性

2.1.1 变量的分类

成员变量(属性 Field) vs 局部变量(方法的形参、方法内部、代码块内部)

基本数据类型(8种,不同的数据类型对应不同的默认初始化值) vs 引用数据类型(数组、类、接口 默认初始化值为null)

2.1.2属性的声明格式

修饰符  数据类型  变量名 = 初始化值;//java是强数据类型的语言

2.1.3 对属性的赋值的操作

1.默认初始化
2.显式的初始化
3.代码块的初始化
4.构造器的初始化
5.调用方法、属性进行赋值

2.2 方法

  1. 格式:修饰符 (其它的关键字:static/final/abstract)返回值类型 方法名(形参列表){ //方法体 }
  2. 方法的重载(overload) vs 方法的重写(override overwrite)
  3. 方法的参数传递机制:值传递(难点)

2.3 构造器

  1. 构造器的作用:
    • 创建类的对象
    • 初始化对象的成员变量
  1. 构造器也是可以重载的。

2.4 代码块

主要作用:用来初始化类的成员变量
分类:静态的代码块 vs 非静态的代码块

2.5 内部类

  1. 分类:成员内部类(static的成员 vs 非static的成员) vs 局部内部类(方法内部声明的类)
  2. 掌握 :
  • 如何创建成员内部类的对象(如:创建Bird类和Dog类的对象)
  • 如何区分调用外部类、内部类的变量(尤其是变量重名时)
  1. 局部内部类的使用

3. 类的初始化(创建类的对象)

3.1 如何创建类的对象

如: Person p = new Person(); Date d = new Date();

3.2 内存解析:

  1. ①栈

    局部变量、对象的引用名、数组的引用名
    堆:new 出来的“东西”
    方法区:(字符串常量池)
    静态域:存放类中静态的变量
    
  2. 如何理解创建的对象在内存中加载的过程(理解)

3.3 子类对象实例化的全过程

SubClass sc = new SubClass();

4.面向对象的三大特性

4.1 封装性

  1. 通过私有化类的成员变量,通过公共的getter和setter方法来调用和修改
  2. 还可以对类的其他结构进行“封装”
  3. 权限修饰符:public protected 缺省 private

4.2 继承性

通过让一个类A继承另一个类B,就可以获取类B中的结构(主要的:属性、方法、构造器)。子类:类A 父类:类B
>java中的类的继承性:单继承的。

4.3 多态性

  1. 体现:方法的重载与重写 ; 子类对象的多态性 Person p = new Student();
  2. 子类对象多态性的使用:虚拟方法调用。
  3. 向上转型 向下转型 Student s = (Student)p; //建议在向下转型之前: if ( p instanceof Student)避免出现ClassCastException的异常

5.其它关键字

5.1 this

修饰属性、方法、构造器 。表示:当前对象或当前正在创建的对象

5.2 super

修饰属性、方法、构造器。显式的调用父类的相应的结构,尤其是子父类有重名的方法、属性

5.3 static

修饰属性、方法、代码块、内部类。随着类的加载而加载!

5.4 final

修饰类、属性、方法。表示“最终的”

5.5 abstract

修饰类、方法

5.6 interface

表示是一个接口,(接口是与类并列的一个结构)。类与接口之间同时“implements”发生关系。

5.7 package import

abstract不能修饰属性、构造器、不能与final static private共用。

6 参考资料

学习视频https://edu.csdn.net/course/detail/10455
参考资料:尚硅谷-宋红康JAVA基础核心编程笔记

你可能感兴趣的:(JAVA)