java语言

记录曾遇到过的一些疑惑。

小特点

  • 单继承父类,多实现接口

文件 与 类 的关系

URL: https://zhidao.baidu.com/question/418614858.html

一个.java文件中可以有很多类。不过注意以下几点:

  1. public权限的类最多一个(也可以一个都没有)

  2. 这个.java文件的文件名必须是public类的类名(如果有的话,另一般的情况下,这里放置main方法是程序的入口。)

  3. 若这个文件中没有public的类,则文件名随便是一个类的名字即可

  4. Javac编译这个.java文件的时候,它会给每一个类生成一个.class文件

类成员的访问权限修饰符

修饰符 private default protected public
同一类
同一包
不同包子类
不同包非子类

的访问权限修饰符

外部类

  • default

同一包中可以访问

  • public

所有类可以访问

内部类

四种皆可用,内部类作为外部类的成员。

非静态内部类

  • 内部类可以访问其外部类中所有的属性和方法,无需创建外部类的对象。

  • 必须创建内部类的对象,否则无法从外部类访问内部类的变量和方法。

  • 如果内部类中有和外部类同名的变量或方法,则内部类的变量和方法将获 得比外部类的变量和方法更高的优先级。

  • 不能定义static变量。

实例化:

1
2
3
4

Outer o = new Outer();
//实例化内部类
Outer.Inner oi = o.new Inner();

静态内部类

  • 静态内部类作为外部类的静态成员,不能访问外部类非静态成员。

  • 非静态内部类只能定义非静态成员,而静态内部类可以定义静态成员和 非静态成员。

实例化:

1
Outer.Inner inn=new Outer.Inner()