`
杨杨和花花
  • 浏览: 21732 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

继承的解析

阅读更多

1.什么是继承呢?
  在现实中我需要定义很多的类,而实际中它们有好多是包含关系,或者有相同点,为此我定义一个继承。子类继承父类,继承父类的属性和方法。
  例如:定义一个学生类
  public class student{
  //定义属性
  private String name;
  //定义方法
  public void study(){
  System.out.println(name+"在学习");  
  }
  public void setname(Sting name){
       this.name=name.
  }
  }
  定义一个大学生类,就用到继承了。因为大学生类一定有学生类的特点。
  public class UNStudent extends student{
  }
  这个大学生类就有了学生类的特点了。当然子类有它自己特有的属性和方法。
2.方法的重写
  方法的定义不变,但方法内部实现同父类中不同,新的UNStudent类如下:
public class UNStudent extends student {
       public void study(){
         System.out.println(name+"要独立学习");
}
}
   这里重写了父类中的学习方法了。
3.自动转型和多态的实现
  自动转型,是指子类对象会自动父类类型。
  public static void main(String[] args){
      student st1=new UNStudent();
  创建一个学生对象,它由大学生类自动转为学生类类型。如果上面反个来这不行,自动转型
  只能由子类到父类。想实现父类到子类,就需要强制转型了。
       UNStudent st2=(UNStudent) st1;
  在实际中我们会发现,有时相同类型的对象调用相同的方法的时候,由于继承和重写机制
  得到的结果不一样。
  例如:运行这行代码,你会发现结果很难预测。
  st1.study();
  st2.study();
  }
     
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics