重写父类:在子类中重写时,函数名不变,里面的内容可以重新写一遍
package jicheng;
import javax.print.attribute.standard.PrinterName;
class Animal1{
String name;
void shout(){
System.out.println("动物在叫");
}
}
//定义继承动物的类
class Dog extends Animal1{
public void shout(){
System.out.println("汪汪汪。。。");
}
public void printName(){
System.out.println(name);
}
}
public class Animal{
public static void main(String[] args){
Dog dog=new Dog();
dog.name="dongsao";
dog.printName();
dog.shout();
}
}
super的使用
1.用super调用父类变量及父类无参方法
package jicheng;
import javax.print.attribute.standard.PrinterName;
class Animal1{
String name="动物";
void shout(){
System.out.println("动物在叫");
}
}
class Dog extends Animal1{
String name="犬类";
public void shout(){
//调用父类的方法
super.shout();
}
public void printName(){
//调用父类的变量
System.out.println(super.name);
}
}
public class Animal{
public static void main(String[] args){
Dog dog=new Dog();
dog.name="dongsao";
dog.printName();
dog.shout();
}
}
2.用super调用有参方法
这里用到了构造方法
package jicheng;
class Animal1{
String name="动物";
public Animal1(String str){
System.out.println("你是一只"+str);
}
}
//定义继承动物的类
class Dog extends Animal1{
//String name="犬类";
public Dog(){
//这样使用super时,父类名必须方法名同名
//
super("土拨鼠");
}
}
public class Animal{
public static void main(String[] args){
Dog dog=new Dog();
dog.name="dongsao";
}
}
3.无参的构造方法与有参的构造方法可以在主类中直接调用