zoukankan      html  css  js  c++  java
  • Day11_面向对象 内部类

    内部类

    • 内部类就是在一个类的内部在定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类了。
    • 1.成员内部类
    • 2静态内部类
    • 3.局部内部类
    • 4.匿名内部类
    package com.oop.demo10;
    
    public class Outer {
        private int id = 10;
        public void out(){
            System.out.println("这是外部类的方法");
        }
        public class Inner{
            public void in(){
                System.out.println("这是内部类方法");
            }
            //获得外部类的私有属性~  /私有方法
            public void getID(){
                System.out.println(id);
            }
        }
    }
    
    package com.oop;
    
    
    import com.oop.demo10.Outer;
    
    public class Application {
    
        public static void main(String[] args) {
            Outer outer = new Outer();
            //翻过这个外部类实例化内部类
            Outer.Inner inner =outer.new Inner();
            inner.getID();
        }
    }
    

    //一个java类中可以有多个class类,但是只能有一个public clas

    package com.oop.demo10;
    
    public class Outer {
    
    }
    
    //一个java类中可以有多个class类,但是只能有一个public class
    class A{
        public static void main(String[] args) {
            
        }
    }
    

    //局部内部类

    package com.oop.demo10;
    
    public class Outer {
        
        //局部内部类
        public void method(){
            class Inner{
                public void in(){
                    
                }
            }
        }
    }
    
    package com.oop.demo10;
    
    public class Test {
        public static void main(String[] args) {
            //没有名字初始化类,不用讲实例保存到变量中
            UserService userService = new UserService() {
    
                @Override
                public void hello() {
                    
                }
            };
        }
    }
    
    class Apple{
        public void eat(){
            System.out.println("1");
        }
    }
    interface UserService{
        void hello();
    }
    
  • 相关阅读:
    关于gitlab怎样merge request的流程
    有访问权限的gitlab如何把上面的代码clone到本地
    macpro终端打开mysql
    Hbase实验:java创建和删除table
    齐次递推式拆数学式
    一些生成函数
    圆锥表面曲线方程
    扩展欧拉降幂
    scanf读入有空格字符串
    线性筛素数的一个用途
  • 原文地址:https://www.cnblogs.com/lemonlover/p/14049526.html
Copyright © 2011-2022 走看看