Java5

面向对象

使用new关键字创建对象

//实例化初始值
使用new关键字,本质是在调用构造器

有参构造,必须要有无参构造

构造器:

  1. 和类名相同
  2. 没有返回值
    作用:
  3. new本质在调用构造器
  4. 初始化对象的值
    注意点:
    定义有参构造之后,如果想使用无参构造,无参要显示地定义

类有点难理解

刚才遇到两个错误

  1. 不在同一个package里的class是不能调用的
  2. packageDemo01和classDemo01重名也会报错

狂神的笔记hh

  1. 类是一个模板,对象是具体的实例
  2. 方法:定义、调用
  3. 对应的引用,对象是通过引用来操作的:栈-->堆
  4. 属性:字段Field 成员变量
    默认初始化:
    数字:0 0.0
    char:u0000
    Boolean: false
    引用:null
  5. 对象的创建和使用
    必须使用new关键字创造对象,构造器 Person hao=new Person()
    对象的属性 hao.name
    对象的方法 hao.sleep

  6. 静态的属性
    动态的行为 方法

封装

高内聚(类的内部数据操作细节自己完成,不允许外部干涉)
低耦合(仅暴露少量方法给外部使用)

属性私有

  1. 提高程序安全性,保护数据
  2. 隐藏代码的实现细节
  3. 提高程序可维护性
  4. 统一接口

继承

public class Student extends Person
Person是父类,Student是子类
子类继承父类,就会继承父类所有的方法

只有单继承,没有多继承。
一个儿子只能有一个爸爸


this是当前子类的,super是父类的

super注意点:

  1. super调用父类的构造方法,必须在构造方法的第一个
  2. super必须只能出现在子类的方法或者构造方法中
  3. super和this不能同时调用构造方法

this:本身调用者这个对象
super:代表父类对象的应用

构造方法
this();本类的构造
super();父类的构造


父类的引用指向了子类
方法的调用只和定义的数据类型有关


静态方法和非静态方法不一样,子类重写了父类的方法

方法重写只能用public,不能用private

重写

需要有继承关系,子类重写父类的方法!

  1. 方法名必须相同
  2. 参数列表必须相同
  3. 修饰符:范围可以扩大:public>protected>default>private
  4. 抛出的异常:范围可以被缩小,但不能扩大;ClassNotFoundException-->Exception

子类方法与父类方法必须一致;方法体不同

为什么需要重写

  1. 父类的功能,子类不一定需要,或者不一定满足

多态

动态编译:类型:可扩展性

多态注意事项

  1. 多态是方法的多态,属性没有多态
  2. 父类和子类,有联系,类型转换异常!ClassCastException!
  3. 存在条件:继承关系,方法需要重写,父类引用指向子类对象哎!Father f1=new Son();
  4. static 方法,属于类,不属于实例
  5. final 常量
  6. private方法
    👆三个不能多态

instanceof比较转化类,存在父子关系就能通过编译

  1. 父类引用指向子类对象
  2. 把子类转换为父类,向上转型
  3. 把父类转换为子类,强制转换
  4. 方便方法的调用,减少重复代码
posted @ 2025-08-04 19:53  BJliberty  阅读(7)  评论(0)    收藏  举报