1·类的继承
子类继承父类,子类会自动拥有父类的可继承的属性与方法。
只能单继承。
package com.xiao;
class Animal{
String name;
void shout(){
System.out.println("动物发出叫声");
}
}
class Dog extends Animal{
public void printName(){
System.out.println("name ="+name);
}
}
public class Example01 {
public static void main(String[] args) {
Dog dog =new Dog();
dog.name="沙皮狗";
dog.printName();
dog.shout();
}
}
重写
子类如果对继承到的父类的某一个方法不满意,可以通过重写的方法来进行修改
package com.xiao2;
class Animal{
String name;
void shout(){
System.out.println("动物发出叫声");
}
}
class Dog extends Animal{
void shout(){
System.out.println("汪汪汪");
}
}
public class Example02 {
public static void main(String[] args) {
Dog dog =new Dog();
dog.shout();
}
}
注意点:子类重写父类方法时,不能使用比父类更严格的访问权限。就是说子类的范围越宽越好,窄—>宽,private,default,protect,public。
super
子类重写父类方法后,子类无法直接访问父类被重写方法,这时就需要super。
package com.xiao3;
class Animal{
String name="动物";
void shout(){
System.out.println("动物发出叫声");
}
}
class Dog extends Animal{
String name="犬类";
void shout(){
super.shout();
}
void printName(){
System.out.println("name="+super.name);
}
}
public class Example03 {
public static void main(String[] args) {
Dog dog =new Dog();
dog.shout();
dog.printName();
}
}
super调用父类构造方法
package com.xiao4;
class Animal{
public Animal(){
System.out.println("你是一只动物");
}
public Animal(String name){
System.out.println("你是一只"+name);
}
}
class Dog extends Animal{
public Dog() {
}
}
public class Example04 {
public static void main(String[] args)