继承是Java对面对对象的一种特用的用法,比如几个类中,同是含有一个类的全部属性和方法,为了避免全部调用,就可以采用继承。
比如,一个人类和一个学生类,学生类包含人类的全部属性。
用发在类后加上extend 类名
就是引用其他类,变为继承。
package com.xsnxsn.urc;
class person
{
int age=0;
String name;
void presonint(){
System.out.println("name="+name+"吃米还要拉屎");
}
}
class student extends person
{
double score=100;
void stuint(){
System.out.println("这是学生");
}
}
public class Demo {
public static void main(String[] args) {
person s=new person();
s.name="人";
student p=new student();
p.name="人";
p.presonint();
}
}
supe关键字两种用法
- 父类的构造方法在子类中调用需要用到super。
- 父类和子类中有同名方法或者属性,可以用super去区分父类中的属性或者方发
在父类中加上private修饰符后,后面的属性和方法均不给子类共享。但是会存在一个违列子,父类中给属性来个private修饰后,此属性在父类中被方法调用,在子类中去调用父类的该方法,该属性会被调用,但是该属性不属于子类,还是被父类所调用。
举例如下
package com.xsnxsnxsn.me;
class person{
int age;
private String name;//
public person(int age,String name){
this.age=age;
this.name=name;
System.out.println("这里是父类");
}
public void eat(){
System.out.println("父类中name="+name);
System.out.println("人吃米,也吃肉");
}
}
class student extends person {
public student(int age,String name,int score){
super(age,name);//这里就是子类调用了父类的构造方法
this.score=score;
System.out.println("子类的构造方法被调用score="+score);
}
int score;
void work(){
System.out.println("学生要考试,不能多玩");
}
public void eat(){
super.eat();//虽然name不可见但是,这里还是可以通过父类去调用
System.out.println("学生尽量清淡饮食");
}
}
public class Ddmo {
public static void main(String[] args) {
student p=new student(12,"人",100);
p.eat();
}
}