Java_基础_面向对象知识点小结

  • 1-匿名对象:没有名字对象 new 类名()

    • 1-1 调用方法
    • 1-2作为方法参数和返回值传递
  • 2-继承

    • 2-1格式: extends
    • 2-2 特点;
      • a 类支持单继承、多层继承
    • 2-3 子类继承父类成员特点
      • 父类定义非私有成员变量,子类可以直接使用
      • 成员方法
        • 必须继承
        • 方法名 参数列表一致
          • 父类方法返回值可以是子类返回值类型或其父类
        • 方法权限修饰符大于等于父类
      • 构造方法
        • 子类可以调用父类构造方法,在子类构造方法中存在默认super()
      • 调用父类成员变量
        • super.父类成员变量名
        • super.方法( 实参)
  • 3- this 和super

    • this 表示子类对象空间
      • 记录对象地址
      • 区分成员变量和局部变量
      • 调用本类构造方法this(实参)调用语句必须在构造方法第一行
    • super属于父类空间标识
      • 作用
        • 调用父类成员变量
        • 调用父类成员方法
        • 构造方法super(实参)不能和this(实参)共存
  • Static

    • 修饰符:修饰成员变量、成员方法
    • 特点:直接使用类名调用
    • 静态代码块:读取项目配置文件
      • 随着类的加载而执行,只执行一次
    • 细节:
      • 静态成员变量
        • 使用类名调用,类一加载到内存方法区就初始化值,可以直接使用,且可以被多个对象共享
      • 静态成员方法
        • 使用类名调用
      • 静态使用
        • 静态中只能使用静态内容
        • 非静态中能使用静态的,非静态需要创建对象
  • Final

    • 修饰符,可以修饰类,方法,变量,修饰的内容都不能改变
    • 修饰的类:不能有子类
    • 修饰的方法:不能被重写
    • 修饰的变量
      • 局部变量 不能改变
      • 成员变量:常量,单词大写
        • 赋值
          • 直接final int NUM = 3;
          • 构造方法初始化
  • 权限修饰符

    • public:跨包、跨类
    • protected:子父类
    • 默认:同包,同一类
    • private:只有本类
  • 抽象类

    • public abstract class 类名{抽象方法}
    • 注意
      • 抽象类必须由子类继承,在子类中重写抽象方法
      • 抽象类不能创建对象,需要创建子类
  • 接口

    • 定义格式

      public interface{ 
      	public static final 数据类型常量名= 数值;
      	public abstract 返回值类型 方法名(参数列表);
      	public default 返回值类型 方法名(参数列表){}
      	public static 返回值类型 方法名(参数列表)
      	
      }
      
    • 类和接口关系

      • 一个类可以实现多个接口
      • 一个类先继承父类再实现接口
      • 注意:如果父类和接口存在一样的方法,先使用父类方法
    • 接口和抽象类的区别

      • 抽象类描述共性内容,可以有构造方法,不能创建对象
      • 接口没有构造方法,描述扩展,不能创建对象
  • 枚举

    • 定义格式
    public enum 枚举类{
    	属性,属性...
    }
    
    • 细节

      • 枚举中的属性都是枚举类对象

      • 属性是被static final修饰

      • 使用枚举类属性:枚举类.属性名

      • 属性默认调用无参构造,想调用有参构造:属性(实参)

      • 枚举类中构造方法都是私有的

      • 使用在switch语句中:

        switch(枚举类.属性名){
        	case 属性名://不用书写枚举类调用
        }
        
      • 枚举类是被final修饰

  • 多态

    • 父类引用或者父接口引用指向子类对象

    • 多态成员前提

      • 必须有继承或实现
      • 必须重写父类的方法 存在意义
      • 格式:父类引用指向子类对象
    • 成员特点

      • 非静态成员方法:编译看左边,运行看右边
      • 非静态成员变量:无多态性
    • 多态弊端:不能使用子类特有的,想使用需要使用向下转型,转型会发生类型转换异常

      父类引用类型变量名 instanceof 子类类型
      
      
    • 优势

      • 扩展性强
      • 减少代码重复性
    • 多态+面向接口编程

  • 内部类

    • 匿名内部类

      new 父类或父接口(){
      	重写父类或父接口中的方法
      }
      
    • 成员内部类

      Person.Heart p = new Person().Heart();
      
  • 隐式三步

    • 调用父类构造super()
    • 显示给非静态成员变量初始化
    • 执行构造代码块
posted @   Albert-ZZD  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示