• 一个.java文件中可以有几个同级类?


    1、在一个.java文件中可以有多个同级类(和public一样的位置,注意不是内部类).其修饰符只可以public/abstract/final/和无修饰符,不能是其他的protected/private等修饰符。所以protected类虽然可以在包内访问,但是也必须定义在另外类里面,protected主要是保护子类访问,因此个人觉得其他类就尽量不要使用,便于规范;

    不使用任何修饰符声明的属性和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为public static final,而接口里的方法默认情况下访问权限为public。

    • public:跨包可访问
    • 无修饰符:包内可访问

    2、public修饰的只能有一个,且必须要与文件名相同;若没有public的则可与文件名不同。注意不是内部类

    3、该文件同级的类之间可以互相调用,但是除了public的类,其他不能够在其他文件调用。

    4、在一个.java文件中由类/Enum/接口/Anontation其中至少一个类型组成。单独一个方法/变量不能独自存在与文件中,所以公用方法的封装也是做成类方法。原因是java是类加载机制,需要编译一个java文件成多个class文件,当类来使用。java文件的命名也是按照类名命名。也说明java面向对象的思想体现非常充分,不想C/C++可以单独一个方法一个文件。详细见:http://www.weixueyuan.net/view/6311.html

     5、编译一个java文件会生成多个class文件

    假设Test.java文件中:
    public class Test{}
    class Test2{}

    abstract class Test3{}
    final class Test6{}
    编译后:Test.class Test2.class Test3.class Test6.class
  • 相关阅读:
    17ES6 Symbol的内置属性
    08ES6 箭头函数以及声明特点
    12ES6 rest参数
    15ES6 Symbol的介绍与创建
    js函数arguments的运用简单实例
    10ES6 箭头函数的实践与应用场景
    18ES6 迭代器
    11ES6 函数参数的默认值设置
    14ES6 扩展运算符的应用
    CSharp: Strategy Pattern in donet core 3
  • 原文地址:https://www.cnblogs.com/muffe/p/3539551.html
Copyright © 2020-2023  润新知