子类与继承
1.1 子类与父类
1.1.1 子类
1、 继承的声明 在累的生命中,通过使用关键字 extends 来定义一个类的子类,格式如下:
class 子类名 extends 父类名{
……
}
2、类的树状结构 在java中所有,所有的类都是object的子类
1.2 子类的继承性
1.2.1 子类和父类在包中的继承性
访问权限 当前类 同一包下的类 不同包下的类 其他
public OK OK OK OK
protected OK OK OK
缺省 OK OK
private OK
1.2.2 继承关系的UML图
UML图通过使用一个实线链接两个类的UML图来表示二者之间的继承关系,实线的起始端是子类的UML图,终点端是父类,终点端使用一个空心的三角形表示是实线的结束。
1.3 子类与对象
1.3.1 关于instanceof运算符`
instanceof 运算符其左面的操作元是对象,右面操作元是类,当做面的操作元是右面的类或其子类所创建的对象是,instanceof运算的结果是true,否则是false。 比如:
public class People{
int age,leg=2,hand=2;
protected void showPeopleMess{}{
System.out.println("%d岁,%d只脚,%d只手",age,leg,hand);
}
}
如果 baby是People所创建的对象,而adult不是,那么 baby instanceof People的返回值是true,而adult instanceof People 返回false。
1.4 方法重写
当父类的方法不满足子类的需要,则子类可以修改父类的方法。并且这个方法的名字,参数个数,参数的类型和父类的方法完全相同。
class A{
float computer(float x,float y){
return x+y;
}
public int g(int x,int y){
return x+y;
}
}
class B extends A{
float computer(float x,float y){
return x*y;
}
public calss C{
public static void main(String args[]){
B b=new B();
double result=b.computer(8,9); //b调用重写的方法
System.out.println(resrult);
int m=b.g(12,8);
System.out.println(m);
}
}