继承[Extend][Java]


title: Java继承[Extend]
date: 2020-03-24 19:43:10
author: JF
blog: https://www.huqifa.com/
tags:
- Java
categories:
- Java


Java继承[Extend]

继承大致分为

  • “继承中的成员变量和方法”
  • “继承中的构造方法”
  • “继承中的对象转型”。

继承的来源:如下有两个类,张三和李四,他俩都有姓名和年龄,那我们可以把这两个类共性的描述抽取出来,放在某个类中,然后让张三和李四继承这个类,就可以共享这个类中的姓名和年龄了。

  1. 继承提高了代码的复用性,简化代码。而且只有建立了继承关系(向上转型),才会有后面的多态特征的存在;

  2. 继承本质是类与类之间的关系,是把子类共性的描述抽取出来,放在父类中。千万不要为了获取其它类的功能简化代码,而随意搭建继承关系(姓李的类继承了姓张的类)。

  3. 子类拥有(继承)父类的成员(成员变量和成员方法);

  4. 继承是类与类之间的关系,static是同类里不同对象之间进行共享;

如下:因为zhang和li两个类中都有name,age和fangfa()

class zhang {
 String name;
 int age;
 public void fangfa(){
  System.out.println("人类");
    }
 }
class li {
 String name;
 int age;
 public void fangfa(){
  System.out.println("人类");
    }
 }
public class jicheng{
 public static void main(String[] args){
      }
   }

所以如下:把共性的描述抽取出来,放在一个类中,建立继承关系

class renlei{--父类,超类,基类
 String name;
 int age;
 public void fangfa(){
  System.out.println("人类");
    }
  }
class zhang extends renlei{---子类}
class li extends renlei{------子类}
public class jicheng{
 public static void main(String[] args){
  zhang zhangsan=new zhang();
  System.out.println(zhangsan.name);---子类拥有父类成员
  zhangsan.fangfa();
  li lisi=new li();
  System.out.println(lisi.name);---子类拥有父类成员
  lisi.fangfa();
 } }


  1. 子类不能拥有父类中被private修饰后的成员;
class fu{
 private String str;
  }
class zi extends fu{}
public class jicheng {
 public static void main(String[] args){    
  zi duixiang=new zi();
  duixiang.str="hello";---报错
  System.out.println(duixiang.str);---报错
 }
}
  1. java可以搭建多层继承关系。在多层继承中最下层的子类拥有整个继承体系的成员,最上层的父类里面定义了所有子类的共性描述。多层继承也说明没有绝对的子父类,都是相对而言的;
class ye{
 public void fangfa1(){
  System.out.println("爷");
    }
  }
class fu extends ye{
 public void fangfa2(){
  System.out.println("父");
    }
  }
class zi extends fu{
 public void fangfa3(){
  System.out.println("子");
    }
   }
public class jicheng{
 public static void main(String[] args){
  zi duixiang=new zi();
  duixiang.fangfa1();
  duixiang.fangfa2();
  duixiang.fangfa3();
      }
   }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值