内部类

一、内部类
    一个类里面能放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

 

上一篇:java 过滤器(参数传递中文乱码)


下一篇:设计模式之组合模式