JAVA中的继承

java的继承

什么是继承呢?

继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,
新的类能吸收已有类的属性和行为,并且扩展新的能力。
java继承是是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易(减少代码重复),能够大大缩短开发周期,降低开发成本。
上面提到父类和子类,其实它们是一种包含关系,仍以学生为例,学生包括大学生、中学生、小学生等,那么在java中就能认为学生是父类,大学生是它的一个子类。
且看代码:

//定义学生类(父类)
public class  Student{
   public String name;
   private int age; 
   //定义set 方法,设置属性
   public void setAge(int a){
        age=a;
        }
   //定义get方法,获得属性
   public int getAge(){
   return age;
   }
   //方法
   public void study(){
   System.out.println(name+"正在学习,他今年"+age+"岁。");
   }
   }
    

在此说一下私有属性和公开属性的区别,其实上面的程序不需要这么复杂,但是为了说明问题增加了setAge方法和getAge方法。其实私有属性类似于c语言中的局部变量,它的作用域只有该类,在其他类中就不能直接访问了(所以我们用get方法间接访问),而公开属性在其他类中也能够访问。

//关键词:extends 格式:子类名  extends  父类名
 public class UNStudent extends Student{
 
  }

如此就让大学生类继承了学生类的属性和方法了。
下面是主函数:

public class Manage{
 public static void main(String[] args){
       UNStudent u=new UNStudent();
       u.name="小李";
       u.setAge(18);
       u.study();
       }
    }
    //运行结果:小李正在学习,他今年18岁。

注意:子类虽然会继承父类中所有的属性和方法,但私有属性和方法不能直接使用。所以我们在学生类中添加了一个set方法用于初始化学生的年龄。
接下来是继承的另一个要点:方法重写。
首先说一下重写的条件:
1.必须是在有继承关系的两个类之间。
2.访问的修饰符大于或等于父类(访问修饰符有 public ,protected,private和默认修饰符,默认修饰符即没有修饰符,它们间的大小关系为private<默认修饰符<protected<public) 当然一般修饰符与父类一致。
3.访问修饰符满足条件外还应保证方法的返回值类型,方法名,参数类型,甚至是参数的顺序和个数都完全一样。
现在我们重写父类中的study方法:

public class UNStudent extends Student{
 public void study(){
   System.out.println("重写方法!");
   }
   //将之加入到上面的代码后运行结果为:重写方法!
   public void printAge(){
   System.out.println("年龄"+getAge()+"岁。");
   //通过get方法访问学生年龄。
   }
   //添加新的功能,当然此方法在主函数中未调用,大家可以试一试哈。
  }
  

以上很多部分为笔者个人想法,如有错误,还请批评指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值