zoukankan      html  css  js  c++  java
  • java类的定义位置

    java的类可以定义在任何位置:

    一般的类是一个文件里面写一个类,且类名和文件名相同,但是定义类的位置可以是任意的如图:

     上图示例:

    public class A{
        class B{ }
        
        static class C{ }
        
        void doSomeThing(){
            class D{ }
        }
    }
    
    class E{ }
    
    interface F{ }

    实例展示:

    public class A{
        class B{ 
            void im(){
                System.out.println("I am B");
            }
        }
        
        static class C{ 
            void im(){
                System.out.println("I am C");
            }
        }
        
        void doSomeThing(){
            System.out.println("I am A doSomeThing");
            class D{ 
                void im(){
                    System.out.println("I am D");
                }
            }
            D d=new D();
            d.im();
        }
        
        
        
        public static void main(String[] args) {
            A a=new A();
            a.doSomeThing();
            B b=a.new B();
            b.im();
            C c=new A.C();
            c.im();
            E e=new E();
            e.im();
            F f=new F(){
               public void im(){
                    System.out.println("I am F");
                }
            };
            f.im();
        }
    }
    
    class E{ 
        void im(){
            System.out.println("I am E");
        }
    }
    
    interface F{
        void im();
    }

    通过上面的示例就可以看出,Java的类可以放在任何位置。

    1、放在同级的类中的是其他类,不能被该文件之外的其他类访问。

    2、放在类中的属于内部类。

    3、放在类中且被static关键词修饰的属于静态内部类。

    4、放在类中的方法里面的类属于局部内部类。

     特别说明: 类F(匿名内部类)
    F类是一个接口,拥有一个 im() 方法,但是没有实现类,一般来说我们要先为她创建实现类实现里面的方法,才能调用,但是也可以在创建它的实例的时候再去实现它,这样的话实现类就不见了(也就是匿名了),所有称这样的类叫做匿名内部类。

    匿名内部类的三要素:

    1、匿名的类必须包含抽象方法(接口/抽象类)。

    2、在实例化类的同时去实现该抽象方法。

    3、由于没有名字,只能使用一次。




  • 相关阅读:
    python中使用cookies免登陆
    python中列表与元组的区别与转换
    python模块之mock
    python模块之Faker
    python模块之requests
    adb简单命令使用
    Mac下安装appium+python+Android sdk 环境完整流程
    git+pycharm结合使用
    github内的一些操作
    mac下git连接远程仓库gitee
  • 原文地址:https://www.cnblogs.com/easyidea/p/14095042.html
Copyright © 2011-2022 走看看