1.继承的概念:
继承是由已经有的类创建新类,java中只支持单继承,不支持多重继承,如果想实现多继承可以通过接口的方式实现。
2.继承语法:
public class Person
{
public string name;
public string getname()
{
return name;
}
}
public class Employee extends Person
{
public int employeenumber;
public getemployeenumber()
{
return employeenumber;
}
}
在这里employee继承了person 具有了person的变量值。这里值得注意的是私有属性的以及方法的继承:例子如下:
public class b
{
public int a=10;
private int b=20;
public int getb()
{
return b;
}
}
public class a()
{
public int a=0;
system.out.println(a);//输出0
system.out.println(b);//拒绝访问
system.out,println(getb());//输出20
}
3.继承的隐藏和覆盖
隐藏和覆盖包括属性和方法:
隐藏是指子类拥有了两个相同的名字的变量,一个继承自父类,另一个由自己声明;当子类执行继承自父类的操作时,处理的是继承自父类的变量,而当子类执行他自己声明的方法时,所操作的就是他自己声明的变量,而把继承父类的变量隐藏了。
方法:
public class A()
{
double balance;
double getBlance()
{
return balance;//返回的是类a的balance值访问的的是子类
}
double getSuperBalance()
{
return super.balance//返回的是父类的balance,访问的是父类
}
}
}
属性:
public class A()
{
int x=2;
}
public class B extends A()
{
int x=100;
system.out.println(super.x);//2
system.out.println(x);//100
}
4.构造方法:
1.构造方法是生成实例对象的唯一方法。
2.子类不能从父类继承构造方法
3.好程序一定是子类的构造方法调用父类的构造方法
4.如果子类没调用父类方法,系统回默认的调用父类无参构造方法。
public class person
{
public string name;
public string age;
public string sex;
public person()
{
this("","",”“);
}
public person(string name,string age,string sex)
{
name=name;
age=age;
sex=sex;
}
}
//以上写了两个构造方法 实现时候可以根据传入参数不同实现不同构造方法。
public class employ extendsperson()
{
public string namea;
public string agea;
public employ()
{//此处隐含构造方法person()
{//此处隐含构造方法person()
this.(0,”“);
}
public employ(string name,string age)
{//此处隐藏构造方法person()
namea=name;
agea=age;
}
}