首页 > 编程语言 >java进阶面向对象总结二

java进阶面向对象总结二

时间:2024-08-08 15:23:52浏览次数:32  
标签:java 进阶 自定义 demo2 面向对象 泛型 new public 内部

1.接口

继上次总结,接口是由常量和抽象方法组成,但为了增强接口功能,在jdk1.8之后可以定义含方法体的默认方法,静态方法(版本1.9之后),私有方法,他们分别用defult,static,private修饰

2.内部类

成员内部类:就是类里面的一个普成员
外部类名.内部类名 对象名=new 外部类().new 内部类();
outer.Inner in=new outer().new Inner();
静态内部类
外部类名.内部类名 对象名=new 外部类.内部类();
outer.Inner in=new outer.Inner();
局部内部类
匿名内部类
是一种特殊的局部内部类。
示例:
Anmial dog = new Anmial(){
            @Override
            public void cry() {
                System.out.println("小狗汪汪汪的叫");
            }
        };

3.枚举

是一种用enum定义的特殊的类,他的第一行必须是枚举对象。
示例代码:
package com.itheima.demo2;
//对传递的参数进行绝对限制
public enum demo2 {
   BOY,GIRL
}
​
package com.itheima.demo2;
​
public class demo1 {
    public static void main(String[] args) {
        math(demo2.BOY);
    }
    public static void math(demo2 a){
        switch (a){
            case BOY:
                System.out.println("武侠小说");
                break;
            case GIRL:
                System.out.println("言情小说");
                break;
        }
    }
}

4.泛型

自定义泛型类
格式:public class xxx <类型变量> {}
自定义泛型接口
格式:public interface xxx <类型变量> {}
自定义泛型方法:自定义方法的时候类型变量必须定义在,修饰符与返回值之间。
格式:public<类型变量>void xxx(){}

5.通配符

1.<?>代表可以接收任意类型变量
2.上限:?extends 使用泛型时,允许接受它及他的子孙类
3.下限:?super 使用泛型时,允许接受它及他的父类。

6.有关于泛型的面试题

1.泛型擦除机制:泛型只存在在编码阶段,等到编译为class文件之后,泛型会被擦除为Object类型。这样做的主要目的是为了节约内存。
2.不能接收基本数据类型:所有的java类都继承于Object这个类,基本类型不属于java类所以他也就跟Object没有任何关系。

标签:java,进阶,自定义,demo2,面向对象,泛型,new,public,内部
From: https://blog.csdn.net/m0_75270036/article/details/141026602

相关文章