zoukankan      html  css  js  c++  java
  • java 中的内部类

    内部类

    1,新建Outer类

    package oop.demo11;
    
    //外部类;
    public class Outer {
        //    private  int id = 19301041;
        private static int id = 19301041;
    
        public void out() {
            System.out.println("这是一个外部类 方法;");
        }
    
        //   这是一个内部类
        public class Inner {
            public void in() {
                System.out.println("这是一个内部类 方法;");
            }
    
            //        内部类,访问外部类的一些私有变量;
    //        获得外部类的系有属性;
            public void getTd() {
                System.out.println("id:" + id);
            }
        }
    
        //    静态内部类
    //   这是一个内部类
        public static class Inner2 {
            public void in() {
                System.out.println("这是一个内部类 方法;");
            }
    
            //        内部类,访问外部类的一些私有变量;
    //        获得外部类的系有属性;
            public void getTd() {
                System.out.println("id:" + id);
            }
        }
    
        //    局部内部类
        public void method() {
            class Inner3 {
                public void in() {
    
                }
            }
        }
    
    }
    
    //一个Java类 中可以的多个class类 但是 只有一个 public class
    //内部类;
    class A {
        public static void main(String[] args) {
    
        }
    }
    
    

    2,新建Test类

    package oop.demo11;
    
    public class Test {
        public static void main(String[] args) {
            Apple apple = new Apple();
            apple.eat(); //eat------------>Apple
    
            System.out.println("===========");
    //        没有名字初始化类、 匿名内部类;匿名对象的使用;  不用蒋实例保存到变量中,
            new Apple().eat(); //eat------------>Apple
    
            UserService userService =  new UserService() {
                @Override
                public void hell0() {
    
                }
            };
        }
    }
    
    class Apple {
        public void eat() {
            System.out.println("eat------------>Apple");
        }
    }
    
    interface UserService {
        void  hell0();
    }
    
    

    3,新建Application类

    package oop.demo11;
    
    public class Application {
        public static void main(String[] args) {
            //new
            Outer outer = new Outer();
            outer.out(); //这是一个外部类 方法;
    
    //        通过这个外部内来实例化这个内部类;
            Outer.Inner inner = outer.new Inner();
            inner.in(); //这是一个内部类 方法;
    
            inner.getTd(); //id:19301041
        }
    }
    
    

    4,运行结果

  • 相关阅读:
    48. Rotate Image
    47. Permutations II
    46. Permutations
    45. Jump Game II
    44. Wildcard Matching
    43. Multiply Strings
    42. Trapping Rain Water
    Python_匿名函数
    Python_内置函数之map()
    Python_面向对象_单例模式
  • 原文地址:https://www.cnblogs.com/d534/p/15095827.html
Copyright © 2011-2022 走看看