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,运行结果

  • 相关阅读:
    BF算法和KMP算法
    Python课程笔记 (五)
    0268. Missing Number (E)
    0009. Palindrome Number (E)
    0008. String to Integer (atoi) (M)
    0213. House Robber II (M)
    0198. House Robber (E)
    0187. Repeated DNA Sequences (M)
    0007. Reverse Integer (E)
    0006. ZigZag Conversion (M)
  • 原文地址:https://www.cnblogs.com/d534/p/15095827.html
Copyright © 2011-2022 走看看