JAVA语言中“继承”的解释及使用

文章目录


前言

        一说到继承,往往想到,子嗣继承长辈的家产。长辈的家产一分不少的继承给子嗣,子嗣又有额外的财富,额外的财富变成了家产的一部分,就这样一代代的继承,家族的财富越滚越大。java中“继承”的使用也是一样的。


一、继承是什么?

        继承,是一种类与类之间的传承关系,父类的属性和方法都会传承给子类,子类可以直接调用,根据需要,补充新的属性和方法,或者复写父类的属性和方法。但是,子类不能继承父类中private标记的对象。

        父类:类似于父亲的存在。                子类:类似于儿子的存在。

        复写:指在子类中更改父类的属性和方法(父类中使用,仍是未更改的属性方法,但从子类开始,调用的都是更改过的)

//子类:我做了一个违背祖宗的决定

        注:一个子类只继承一个父类的属性和方法,吕布认贼作父的手段在java中是不适用的。

只能B类继承A类,C类继承B类,像一个家族一样,世世代代继承下来。

二、使用方法

1.关键字

        (1)extends 关键字:子类继承父类的属性和方法

                        语法: Chlid extends Parents

public class Child extends Parents{    
    //Child类继承Parents类的属性和方法
    ......
}

        (2)super 关键字:解决子类复写父类方法,无法调用父类本有方法的问题

                        语法:super.property;        //调用父类原本属性

                                   super.method();      //调用父类原本方法

public class Child extends Parents{
    super();    //调用父类的全部方法
    super.action();    //调用了父类某个方法
    super.attribute;   //调用了父类某个属性

}

2.实操展示

        情景展示:企业A,生产了台式电脑,做好了出厂化代码,随着企业的做大,开拓了ipad产品,ipad出厂化代码,需要在电脑初始化代码的基础上,进行额外的删改。

                台式电脑的出厂化代码:

import java.util.Scanner;
public class computer {
	Scanner sc=new Scanner(System.in);
	String ip="ip属地:河北";
	//父类属性
	
	void startUp() {
		System.out.println("电脑正在开机,请稍等...");
		//父类成员方法
	}
	
	void openMachine() {
		System.out.println("请输入ping:");
		int ping=sc.nextInt();
		if(ping==888888) {
			System.out.println(sayHellow());
			//输出sayHellow()方法的返回值
		}else {
			System.out.println("密码错误,请重新输入");
			openMachine();
            //继续运行openMachine()方法
		}
		//父类成员方法
	}
	
	String sayHellow() {
		return "Welcome";		
		//父类成员方法
	}

	public static void main(String[] args) {
		computer c=new computer();
		c.startUp();
		System.out.println(c.ip);
		c.openMachine();
		
	}
}

 输出结果:

   

    ipad的出厂化代码(继承了台式电脑的代码)

public class ipad extends computer{
	 String electricQuantity="电量:20%";
	 //根据实际需要,补充子类的属性
	
	 void open5G() {
		 System.out.println("提醒:已连接5G网络");
		 //根据业务需要,补充子类的方法
	 }
	 
	 void startUp() {
		 System.out.println("ipad正在开机,请等待...");
		 //复写computer父类的startUp方法
	 }
	 
	 String sayHellow() {
		 return super.sayHellow()+" to use ipad.";
		 //调用父类原本方法,并加以改造
	 }
	 
	 public static void main(String[] args) {
		ipad i=new ipad();
		i.startUp();
		//调用子类改写完父类的方法
		System.out.println(i.ip);
		//调用父类的属性
		System.out.println(i.electricQuantity);
		//调用子类的属性
		i.openMachine();
		//调用父类的方法,并且运行中的sayHellow()方法是子类改造后的方法
		i.open5G();
		//调用子类额外需要的方法
		
	}
}

输出结果: 


总结

        以上就是本文讲的内容,本文简单介绍了继承的含义,extends关键字方便了我们快速便捷地处理类与类之间的代码调用,极大减轻了重复造轮子的压力。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵果森森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值