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


    看到学弟发的一个动态,仔细了解了一下

    一个.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

    参考:http://www.cnblogs.com/muffe/p/3539551.html

  • 相关阅读:
    两数之和
    输入一个int型数据,计算出该int型数据在内存中存储时1的个数。
    MySQL事务机制(Transaction)
    JAVA 之 深入理解String类
    MySQL 之 SQL练习
    python常用函数及循环
    python多版本配置pyenv
    ES6语法的简单示例
    学习笔记190—利用matlab求解方程组的解
    学习笔记189—pandas 获取Dataframe元素值的几种方法
  • 原文地址:https://www.cnblogs.com/sev7en-/p/6880666.html
Copyright © 2020-2023  润新知