Java学习:面向对象编程之static、继承、多态、抽象、接口、final、枚举、泛型

学习目标:

static、继承、多态、抽象、接口


学习内容:

  1. static:静态,可以修饰成员变量、成员方法
  • 类变量:会被类的全部对象共享
  • 实例变量:属于每个对象
    在这里插入图片描述
  • 类方法:
    应用场景:比如工具类
    工具类中的方法都是类方法,分别用来完成各个功能;直接用类名.类方法调用,提高开发效率。
    工具类没有创建对象的需求,建议将工具类的构造器进行私有
    在这里插入图片描述

注意事项:
类方法中可以直接访问类的成员,不可以直接访问实例成员
实例方法中既可以直接访问类成员,也可以访问实例成员
实例方法中可以出现this关键字,类方法不行

  • 代码块
    静态代码块: static{}
    特点:类加载时自动执行,由于类只加载一次,所以静态代码块也只执行一次
    作用:完成类的初始化,例如:对类变量的初始化赋值
    实例代码块: {}
    特点:每次创建对象时执行,并在构造器前执行
    作用: 对实例对象进行初始化赋值

  • 单例设计模式
    确保一个类是有一个对象

public class A{
	//2.定义一个类变量记住类的一个对象
	private static A a = new A();
	
	//1.必须私有类的构造器
	private A(){}
	
	//3.定义一个类方法返回类的对象
	public static A getObject(){
		return a;
	}
}
  1. 继承:extends关键字,子类能继承父类的非私有成员(成员变量,成员方法)
    权限修饰符
  • 同包下不同类:
    在这里插入图片描述

  • 不同包下的任意子类不同类(需继承)
    在这里插入图片描述

  • 不同包下的任意类
    在这里插入图片描述
    子类继承的特点:

  • 在子类方法中访问其他成员,是依照就近原则的
    子类局部范围 -> 子类成员范围 -> 父类范围

  • 如果子父类中出现了重名的成员,优先使用子类
    如果一定要用父类的成员:super.父类成员变量/方法
    补充知识:this(…)调用兄弟构造器
    在这里插入图片描述
    this(...)和super(...)都只能放在第一行

  1. 多态:有继承/实现关系;存在父类引用子类对象;存在方法重写
    多态是对象、行为的多态,Java中的属性(成员变量)不谈

    多态
  • 多态的好处
    在这里插入图片描述
  • 类型强转
    在这里插入图片描述
  1. final
    在这里插入图片描述
    示例:
    在这里插入图片描述

  2. 抽象:abstract修饰;抽象方法只有方法签名
    在这里插入图片描述

  • 模板方法设计模式
    在这里插入图片描述
    建议使用final关键字修饰模板方法,表示不能被子类重写
    在这里插入图片描述
  1. 接口:interface关键字
  • 认识接口
    在这里插入图片描述
    接口是用来被类实现(implements)的,实现接口的类叫做实现类;一个类能实现多个接口
  • 接口新增的三种方式
    在这里插入图片描述

注意事项:
1.一个接口继承多个接口,如果多个接口中存在方法签名冲突,则此时不支持多继承
2.一个类实现多个接口,如果多个接口中存在方法签名冲突,则不支持多实现
3.一个类继承了父类,又同时实现了接口,父类中和接口中有同名的默认方法,实现类会优先父类中的
4.一个类实现了多个接口,多个接口中存在同名的默认方法,可以不冲突,这个类重写该方法即可

  1. 匿名内部类:本质是一个子类,并会立即创建出一个子类对象
    在这里插入图片描述
  2. 枚举
    在这里插入图片描述
    应用场景:比如一些信息的选择
    在这里插入图片描述
    使用枚举enum的话就只有boy跟gril,不会有其他类型,对外也不能新建对象,因为是私有的
    在这里插入图片描述
  3. 泛型
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值