面向对象编程三

一,内部类-成员内部类,静态内部类

成员内部类

1.是什么?如何创建对象?

(1)就是类中的一个普通成员,类似我们之前学过的普通成员变量,成员方法

(2)外部类名.内部类名 对象名=new  外部类().new 内部类();

2.成员内部类的实例方法中,访问其他成员特点?

(1)可以直接访问外部类的实例成员,静态成员

(2)可以拿到当前外部对象,格式是:外部类名.this

  public void test(){
            int age=66;
            System.out.println(age);//内部方法中
            System.out.println(this.age);//内部类
            System.out.println(Outer.this.age);//外部类

        }

静态内部类

1.什么是?如何创建对象?特点?

(1)有static修饰的内部类

(2)外部类名.内部类名 对象名=new 外部类.内部类();

二,匿名内部类,场景

1.匿名内部类的书写格式?

/**
new 类或接口(参数值...){
    类名(一般是方法重写);
};
new Animal(){
    @Override
    public void cry() {
    System.out.println("喵喵喵的叫~~");
    }
};

2.特点?

匿名内部类本质就是一个子类,并会立即创建出一个子类对象

3.作用,应用场景?

(1)可以更方便的创建一个子类对象

(2)匿名内部类通常作为一个参数传输给方法

三,枚举

1.特点

public enum A {
    x,y,z;
}

(1)枚举第一行只能罗列一些名称,这些名称都是常量,并且每个常量都是枚举类的一个对象

(2)枚举类的构造器都是私有的(写不写都只能是私有),因此,枚举类不能创建对象

(3)枚举都是最终类,不可以被继承

(4)枚举类中,从第二行开始,可以定义类的其他成员变量

(5)编译器为枚举类新增了几个方法,并且枚举类都是继承:java.lang.Enum类的

从enum类也会继承到一些方法

 A[] as=A.values();//拿到全部对象
 A a3=A.valueOf("z");//单个

五,认识泛型,泛型类,泛型接口

1.泛型

(1)定义类,接口,方法时,同时声明了一个或者多个类型变量<E>,称为泛型类,接口...

(2)作用:泛型提供了在编译段约束所能操作的数据类型,并自动进行检查的能力,可以避免强制类型转换出现的异常

六,泛型方法,泛型的通配符和泛型的的上下极限,泛型的注意事

1.通配符

就是“?”,可以在使用泛型的时候代表一切类型;ETKV是在定义泛型的时候使用

2.泛型的上下限

上限:?extends Car:?能接受的必须是Car或者其子类

下限:?super Car:?能接受的必须是Car或者其父类

 public static void go(ArrayList<? extends Car> cars){}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值