Java--类

来源:互联网 发布:python 网管snmp 编辑:程序博客网 时间:2024/05/22 03:06

this 用来指向本类的对象
1.this的特殊使用方法
如果一个类有几个构造方法,可以用this在一个构造方法里调用另一个构造方法。

class person{    person()    {        this( (),"");//""是另一构造方法的参数,这条调用语句必须放在第一句    }    .......}

super用来指向父类的对象
特殊用法
a.用来调用 被子类覆盖的 父类的方法
b.用来调用父类的构造函数

class Student extends Person{    Student(string name, int age, string school)    {        super(name, age);//这条调用语句必须放在第一句        this.school = school;    }}

2.Java支持单继承:一个类只能有一个直接父类。(这与C++不同,C++是支持多继承的)

3.继承的写法

class Student extends Person{..........}

如果没有extends子句,则该类默认为java.lang.Object的子类

4.覆盖:@Override可以用这个注记来表示,也可以不写

5.子类的对象可以当父类的对象用,但父类的对象不可以当子类的对象用。
例如:学生是人,但人不一定是学生。
不过父类对象可以强制转换为子类对象,编译能通过,运行就不行。

6.包 (package) 用来解决命名空间的问题。

  • 同一包中的类,默认情况下是可以相互访问的。
  • 包没有继承关系,使用(*)只能导入本层次所有的类,不能导入子层次的类
  • 默认导入 java.lang.*

7.修饰符

  • 类的访问控制符只有public或默认,默认是指只能被同包里的类访问
  • 默认就是包可访问
  • protected 包含可以被不同包里的子类访问

字段的访问控制符

8.static 方法中不能用this super

9.final 修饰类表示类不能被继承,不能有子类;修饰方法表示不能被子类的方法覆盖;修饰变量表示变量只能被赋值一次。

10.static final 表示常量

11.abstract: 抽象方法没有方法体。抽象方法必须在子类中实现。

这里写图片描述

0 0
原创粉丝点击