java 06 继承

继承
----------------------------
1.抽象共性
2.多个类是子类,抽取出抽象的叫父类
3.子类可以访问父类的非私有成员 exend
4.通过extends继承
6.类只支持单重继承。只能有一个父类。+多层继承。

class ExtendsDemo{
public static void main (String[] args){
JIng8 jing8 = new JIng8();
jing8.name = "大黄";
jing8.move();
jing8.watch();
jing8.owenr ="老总";
}

}

class Animal{
public String name ;
public int weight;
public void move(){
System.out.println("move.....");
}
}

//继承
class Dog extends Animal{
public void watch(){
System.out.println("德玛佛为");
}

}

class JIng8 extends Dog{
public String owenr;
}

super()调用父类的构造函数

--------------------------------------------------------------

class ExtendsDemo2{
public static void main (String[] args){
BWM b = new BWM();
//b.color = "red";
//b.velocity =200;
b.run();//打印三遍 new car。。。。
}

}

class Car{
public String color;
public void run(){
System.out.println("跑了~~~"+ color);
}
//创建构造函数,要与类同名
public Car( String color){
this.color = color;
System.out.println("new car car("+color+")");
}
}

//继承
class Sportvar extends Car{
public int velocity;
//构造函数加参数,已经没有空构造了。所以无法运行。所以通过下面的super来调用
public Sportvar( int velociy){
super("红色的大车");
this.velocity = velocity;
System.out.println("new car car 2("+velocity+")");
}
}

class BWM extends Sportvar{
public int price;
//调用父类的构造函数,必须是构造函数的第一条语句。
public BWM(){
super(200);
System.out.println("new car car 3()");
}

}

private如何变相的调用private 通过get  set方法

--------------------------------------------------

class ExtendsDemo2{
public static void main (String[] args){
BWM b = new BWM();
b.velocity =200;
b.run();//打印三遍 new car。。。。
b.setColor ("red");
System.out.println(b.getColor());
}

}

class Car{
//私有属性
private String color;
public String getColor(){
return color;
}
//公有方法,变相得到color
public void setColor(String color){
this.color = color;
}
public void run(){
System.out.println("跑了~~~");
}
public Car(){
System.out.println("new car car");
}

}
//继承
class Sportvar extends Car{
public int velocity;
public Sportvar(){
System.out.println("new car car 2");
}
}

class BWM extends Sportvar{
public int price;
public BWM(){
System.out.println("new car car 3()");
}

}

private  调用父类的方法

--------------------------------------------------

class ExtendsDemo2{
public static void main (String[] args){
BWM b = new BWM();
b.velocity =200;
b.run();//打印三遍 new car。。。。
b.setColorPro ("红烤漆");
System.out.println(b.getColor());
}

}

class Car{
//私有属性
private String color;
public String getColor(){
return color;
}
//公有方法,变相得到color
public void setColor(String color){
this.color = color;
}
public void run(){
System.out.println("跑了~~~");
}
public Car(){
System.out.println("new car car");
}

}
//继承
class Sportvar extends Car{
public int velocity;
public Sportvar(){
System.out.println("new car car 2");
}
public void setColorPro(String color){
System.out.println("是我需要的期吗?");
//this.setColor(color);//调用父类的color,如果本类中也有setColor,那么最好用super
super.setColor(color);//调用父类的color
}
}

class BWM extends Sportvar{
public int price;
public BWM(){
System.out.println("new car car 3()");
}

}

原文地址:https://www.cnblogs.com/simly/p/10084101.html