关于java内部类的介绍
在java中有很多内部类,实例内部类(就是普通的内部类)、静态内部类(全部都是静态的)、抽象内部类(分纯抽象和普通抽象)、静态抽象内部类(分纯抽象和普通抽象)、内部接口(就是接口内部类)、无名内部类(这种内部类就是new抽象内或者new接口的时候重写方法) 等等.... 所谓的内部类就是在类中在创建一个另外的类,这个类成为累不累
实例内部类的使用
所谓的普通内部类就在是类里面创建一个类,但是在实例内部类种不允许申请静态属性和方法,实例内部内无法直接new对象,而是需要通过主类对象进行new对象,操作如下
public class HelloWorld {
public class Test{
private String name="";
public String getName() { return name; }
public void setName(String name) { this.name = name; }
}
public static void main(String[] args) {
HelloWorld helloWorld = new HelloWorld();
Test test1 = helloWorld.new Test();
test1.setName("旺财");
System.out.println(test1.getName());
}
}
静态内部类的使用:
所谓的静态内部内就只在申请内部类的时候前面需要加上一个static的关键字,在静态内部类中,可以申请实例属性方法,也可以申请静态属性方法,静态内部类可以直接new 除对象来调用他的实例属性和方法,也可以直接拿静态内部类的名字直接调用他里面的静态属性和方法
public class HelloWorld {
public static class Test{
public static String age="12";
private String name="";
public String getName() { return name; }
public void setName(String name) { this.name = name; }
}
public static void main(String[] args) {
System.out.println(Test.age);
Test test = new Test();
test.setName("旺财");
System.out.println(test.getName());
}
}
抽象内部类
抽象内部类也分为纯抽象内部类的和普通的抽象内部内,纯抽象内部类就是里面全部都是抽象方法买普通抽象内部类里面既有抽象方法,也有普通方法,写法如下
public class HelloWorld {
public abstract class Test{
private String name="旺财";
public String getName() { return name; }
abstract String fuckYou();
}
public static void main(String[] args) {
HelloWorld helloWorld = new HelloWorld();
Test test = helloWorld.new Test() {
@Override
String fuckYou() {
return "World Fuck";
}
};
}
}