一、内部类
一个类里面能放6样东西
属性 方法 构造器 初始化块 静态初始化块 内部类
1)成员内部类(类中)
1、静态成员内部类、非静态成员内部类
2、定义在类的内部,方法的外部
3、类的成员 A:四个权限修饰符 B:static/final/abstract
1 //OuterClass oc = new OuterClass("11"); 2 OuterClass.Person1 p = new OuterClass().new Person1(); 3 //静态成员内部类 4 OuterClass.Person p1 = new OuterClass.Person();
2)局部内部类
局部内部类定义在方法中
定义局部内部类一般有一个返回值返回这个类的对象;
public class TestProduct2 { public static void main(String[] args) { Phone1 p = new Phone1(); System.out.println(p.getName()); TestProduct2 t = new TestProduct2(); Product pro = t.getPro(); System.out.println(pro.getName()); } public Product getPro() { // class NoteBook implements Product{ // // @Override // public String getName() { // // TODO Auto-generated method stub // return "笔记本"; // } // // @Override // public void getPrice() { // // TODO Auto-generated method stub // System.out.println("10000"); // } // // } return new Product() { @Override public void getPrice() { // TODO Auto-generated method stub } @Override public String getName() { // TODO Auto-generated method stub return "三星"; } }; } } interface Product{ String getName(); void getPrice(); } class Phone1 implements Product{ @Override public String getName() { // TODO Auto-generated method stub return "三星"; } @Override public void getPrice() { // TODO Auto-generated method stub System.out.println("价格"+1000); } }View Code