关于java的继承,初学的时候,一直认为父类中private修饰的东西时无法被子类继承。观点:其实父类中的东西,除了构造方法之外,其它的全都是可以被继承的,包括私有的。但是由于private修饰的东西,只能在本类中可见。所以即便子类继承了,也是不可见的。

变量定义加入了final,即为常量。
对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。
如果不加入的话,则会引起变化,在编译阶段无法检查出来错误。
static修饰符用于定义一个静态方法,静态方法属于类而不是对象。静态方法可以直接通过类名调用,而不需要创建类的实例。
静态方法在程序运行时只会被加载一次,可以在任何时候调用,不受对象的创建和销毁影响。
静态方法通常用于实现一些与类相关的功能,例如工具类中的常用方法或者数学计算方法。静态方法不能访问非静态成员,只能访问静态成员。静态方法的定义格式为:static 返回类型 方法名(参数列表)。
1 public是Java语言中的关键字,用于修饰类、方法和成员变量,表示它们是公共的,可以被其他类访问。2 Java中还有三种访问修饰符,分别为private、protected和default,分别表示私有的、受保护的和默认的(同一个包下可以访问)。3 使用public关键字来修饰类、方法和成员变量时,可以使其它类更方便地使用它们,提高代码的可重用性。但是要注意公共的类、方法和成员变量可能被其他类误用或篡改,因此需要慎重设计。
public 英文是公共的意思,在许多开发语言中都有它,用public关键字定义的类就是公共类,在程序任何地方都可以引用它,再实例化,然后使用它所实例化后的对象。
关于外部类只能用public或默认修饰的说法: 我是这样理解的:这些修饰权限是针对类中的那些变量、方法、内部类来说的,而外部类已经在最外部(即不存在说在哪个类的内部,或是哪个类的子类这些范围),类作为单独文件被加载不能被修饰为私有(private)或受保护的(protected)[下面也解释了]。只有类内部的那些变量方法去针对访问权限来讨论才有意义。 上述讨论权限这样说才更具意义: public: (类中被修饰为public的所有变量、方法、内部类)对所有类可见。 protected: (类中被修饰为protected的所有变量、方法、内部类)对同一包内的类和所有子类可见。 default(即缺省,什么也不写): (类中被修饰为default的所有变量、方法、内部类)在同一包内可见。 private: (类中被修饰为private的所有变量、方法、内部类)在同一类内(自身)可见。 即:均是针对类内部的内容来讨论的访问权限所具备的意义。 既然这样为什么还要对 外部类 或 类 做修饰呢,直接规定只有类内部才能使用访问权限修饰符不就行了?
1.存在包概念:public 和 default 能区分这个外部类能对不同包作一个划分 (default修饰的类,其他包中引入不了这个类,public修饰的类才能被import) 这里又有人会说 protected 也包括同包了啊? 1)public 和 default 足够区分,public就代表公共,不写就代表default,无需再加个protected累赘 2)protected又包含了不同包子类访问权限的概念,外部类最外层就是包了,所以对外部类用protected没意义,包又不具备继承关系。
2.存在内部类概念:当存在内部类的时候,访问权限修饰符就变得有意义了。(类也变成成员来嵌套当然也就需要访问修饰符了)