1. 在整个文件中“有且仅能有一个”public“大”类
main只能在主类中声明
文件名:test01.java
public class test01
{.........}
//public class test02
//{.......} 报错:类C1是公共的, 应在名为 C1.java 的文件中声明
//class test02
//{.......} 报错:类重复定义
`
2. 修饰符 abstract,final,以及继承extends
Java中不支持多重继承,多个父类产生一个子类,取而代之的是接口的概念
abstract:C++中的虚拟类,或者虚函数,在Java中叫做抽象类,抽象函数
final:java以该关键字来说明,该类,或者方法(函数)不可再继承,final,最终,到底了的意思
extends:可以继承被 abstract修饰过的类,如果父类没有abstract修饰则报错:
父类:不是抽象的
abstract class C1
{
.........
abstract void function(); // 声明这两个函数为抽象函数,在子类中实现其具体操作
abstract void method(); // 必须在子类中实现具体**方法**或者把该方法的声明再次写一遍
}
final class C2 extends C1
{
..........
abstract void method(); //我不需要method方法,我也不写其实现,或者在下一层继承时实现
}
疑问:是否被abstract修饰过的方法和类,可以无限重写,重构呢?
3. this,super指针
this指针和cpp没啥区别,super是指向父类的,即上一层
4. 对象实例化
在Java中,要使用类中的“非静态成员”,必须对类进行实例化
Java不允许顶层静态类,也就是说,初始写的第一个类不可以是static,但是java支持嵌套类,被嵌套的类可以是静态的。 这些静态类称为静态嵌套类。
5. 实例化
类名 命名 = new 构造函数(参数);
- 访问权限public,private,protected
public,private,没啥特别的的
protected:在被继承的子类中可以访问,而private在被继承后不可访问