内部类

作者: 开心的小哈 | 来源:发表于2021-07-26 22:19 被阅读0次

    内部类共分为:

    一,成员内部类

    
    public class Nibulei {
        public void outprint() {
            Nibulei.Chin chin = new Chin();
            chin.showi();
        }
        
        public static void main(String[] args) {
        Nibulei nibulei = new Nibulei();
    //  nibulei.outprint();
        Nibulei.Chin chin = nibulei.new Chin();
        chin.showi();
        }
        class Chin{
            int y=0;
            Chin(){
                System.out.println("我是内部类");
            }
            public void showi() {
                System.out.println(y);
            }
        }
    }
    
    

    二,局部内部类

    在方法中定义类
    其中注意参数,如果传入参数则hi会被替换为xx,如果不传入则显示hi

    import java.awt.Container;
    
    public class Jubu {
    public outinnerClass action(String x) {
        class innerClass implements outinnerClass{//局部内部类
        
            public innerClass(String s) {
                s=x;
                System.out.println(s);
            }
        }
        return new innerClass("hi");
    }
    public static void main(String[] args) {
        Jubu jubu = new Jubu();
        outinnerClass action = jubu.action("xx");
        
    }
    
    }
    interface outinnerClass{
        
    }
    
    

    三,匿名内部类

    
    public class nimingneibulei {
    public outInterface action() {
        outInterface outInterface = new outInterface() {//第一种写法
            private int i=0;
            private int getag() {
                return i;
            }
        };
        return outInterface;
    }
    public static void main(String[] args) {
        new outInterface() {//第二种写法
        };//在new的时候就创建这个类,每次new都会创建
    }
    }
    interface outInterface {
        
    }
    
    

    四,静态内部类

    静态内部类可以调用main方法,一般用于调试等操作;

    
    public class jingtaineiblei {
         static int x=100;
    static class inner4{//静态内部类
        void getx() {
            x=1;
        }
        public static void main(String[] args) {//在外面会生成一个static
            System.out.println("我是静态类");
        }
    }
    }
    
    

    五,内部类继承

    固定写法

    
    public class Jichengneibullei {
    class innerClass{
        
    }
    public static void main(String[] args) {
        
    }
    }
    class newClass extends Jichengneibullei.innerClass{
        public newClass(Jichengneibullei s) {
            s.super();
        }
    }
    
    

    相关文章

      网友评论

          本文标题:内部类

          本文链接:https://www.haomeiwen.com/subject/dpxnmltx.html