类与继承
类,相当于一类事物的整体,具有基本的特征和行为。比如TwoDShape(二维图形)类,包含有长度、宽度、高度、半径等等属性及求面积、周长等方法
格式: public class + 类名{}
类名的规范:当你用程序员的身份(cmd)去写一个JAVA类,JAVA中类名必须和文本的名字一样
一般情况类名可以是字母、下滑线开头,类名的首字母要大写,如果类名是两单词组成的话,两单词的首字母要大写,eg.BigDog
类 == 类的属性(/成员变量)+类的方法(/成员函数)
继承,顾名思义可以知道,一个类(子类)继承另外一个类(父类)时就接受另外一个类的所有属性和方法。比如TwoDShape(二维图形)类,可以被Cyecle(圆类)继承。JAVA中继承关键字extends。
格式: public class + 类名+ extends +类名{}
eg.
public class Father { //父类Father
// 设置名字、年龄属性
public String n;
public int a;
public int s;
//设置体力值
public Father(String n, int a, int s) {//父类构造方法
this.n = n;
this.a = a;
this.s = s;
}
/*
注释:this关键字指代当前对象,只能在构造函数使用, 常用于参数名与变量名相同时,来区分变量。
此外。this关键字可用于调用其他的构造方法
*/
}
public class Son extends Father{ //子类Son
public Son(String n, int a, int s) {//子类构造方法
super(n,a,s);
}
//注释:super关键字,用于子类,在构造函数中使用。它用于调用父类的方法和属性。
}
子类继承父类时,子类实例化对象时,需要初始化构造函数,同样也需要去初始化父类的构造函数,如过父类存在带参的构造方法时,相应的也需要去传递相关参数,否则会出现报错。
子类继承父类所有,但是权限却存在限制。这就跟访问修饰符有关,分别有public、pretected,private及默认访问修饰符(当你不写特定权限时)
子类对于父类中权限,可以参考下列:
同类 同包 不同包
private 可以 不可以 不可以
默认的 可以 可以 不可以
protected 可以 可以 (有继承关系可以调用,没有继承关系不可以)
public 可以 可以 可以
如果违反了上面的权限的话,程序会报错。规范写法,要尽量对属性与方法填写权限,还因为防止非程序员篡改数据或方法,用于对类的封装。