java类与对象及类的继承
一.类与对象
1.对象:一个具体的实体或事物,有特征和功能。例如:我的电脑是一个对象,它的特征有:联想品牌、游戏本等;它的功能有:打游戏、看视频。
2.类:具有相同的特征和功能对象归为一个类。
3.创建类:
public class <类名> {
//定义属性(特征)
public <属性数据类型> <属性名>;
//定义方法(功能)
public <方法返回值类型> <方法名>(参数类型1 参数值1,…) {
方法体;
}
}
属性相当于描述类的特征,方法相当于描述类的功能。
4.创建对象:
<类名> <对象名> = new <类名>();
//使用属性
<对象名>.<属性名>
//使用方法
<对象名>.<方法名>(参数值1,…);
举个例子:
public class Computer {
//定义属性(特征:品牌、类型)
public String brand;
public String type;
//定义方法(功能:打游戏、看视频)
public void playGame() {
System.out.println(type + "可以打游戏!");
}
public void watchVideo() {
System.out.println(brand + "的电脑可以看视频!");
}
//主函数
public static void main(String[] args) {
//定义对象
Computer computer = new Computer();
//对象属性
computer.brand = "联想";
computer.type = "游戏本";
//对象方法
computer.playGame();
computer.watchVideo();
}
}
定义一个电脑类,品牌(brand)、类型(type)都是电脑类的属性,打游戏(playGame())、看视频(watchVideo())是电脑类的方法。
二.类的继承
1.类的继承格式:
public class <子类(派生类)名> extends <父类(基类)名>{
…
}
一个子类(派生类)只能有一个父类(基类),一个基类可以有多个子类。
子类可以继承父类的所有属性和方法,也可以重写父类的方法。
例:
父类:
public class Student {
//属性
public String name;
//方法
public void setName(String n){
name = n;
}
public String getName(){
return name;
}
public void study(){
System.out.println(name + "正在学习!");
}
}
子类:重写study()方法
public class collegeStudent extends Student {
//方法重写
public void study() {
System.out.println("我继承了Student类,重写了Study()方法");
}
}
public void test() {
System.out.println(name + "的成绩是60分");
}
方法重写需要与原方法有相同的返回值类型、方法名以及参数。
2.自动转型(向上转型)
public class Trans {
public static void main(String[] args) {
Student college = new collegeStudent();
college.getName();
college.study();
//college.test(); 该行代码会报错
}
}
用父类声明变量,用子类去创建变量。
Student college = new collegeStudent();
当我们调用方法时,先去查找父类的方法,如果没有则无法调用。上述代码中,test()方法是子类中的方法,父类中没有,所以无法调用。
好处:当一个类的方法的参数是类时,我们可以用继承的子类作为方法的参数,提高代码的灵活性。