Java中super,this,extends关键字的简单例子(java上机)

1.setXxx(),getXxx9()使用

题目一:定义一个Division类(除法),类中定义两个int类型的私有成员变量dividend(被除数)和divisor(除数),默认值都为1。定义四个公有方法setDividend(int mDividend )、getDividend()、setDivisor(int mDivisor)和getDivisor(),用于对私有属性进行设置和访问。在setDivisor(int mDivisor)方法中对传入的参数进行检查,如果传入值为零,则打印“除数不能为零”,如果不为零,才将其设置为divisor属性的值。
定义Example01类,在类的main()方法中创建Division对象,分别调用setDividend(int mDividend)和setDivisor(int mDivisor)方法给两个私有属性dividend和divisor赋值,然后打印出dividend和divisor的结果。

代码展示
class Division{
	private int divident = 1;
	private int divisor = 1;
	public int getDividend() {
		return divident;
	}
	public void setDivident(int divident){
		this.divident=divident;
	}
	public int getDivisor() {
		return divisor;
	}
	public void setDivisor(int divisor) {
		if(divisor == 0) {
			System.out.println("除数不能为零");}
			else {
				this.divisor=divisor;
			}
		}
	public void chufa() {
		System.out.println("两数相除为divident/divisor="
	+divident/divisor);
	}
	}
   

运行结果:两数相除为divident/divisor=6

getXxx()和setXxx()方法的作用
类的封装,将对象的状态信息隐藏在内部,不允许外部程序直接访问对象的内部信息,而是通过该类所提供的方法来实现对内部信息的操作访问。
在定义一个类时,将类属性私有化,如果外界要访问私有属性,要提供一些使用公共方法,其中就包括获取属性值的getXxx()方法和设置属性值的setXxx()方法。

2.继承(extends)

题目二:1)定义一个类Phone,编写方法call(),表示打电话功能;
2)定义一个Phone的子类NewPhone,重写父类call()方法,让它除了打电话功能外还具有开启语言和关闭语言功能;
3)编写测试类Example02,分别调用重写前和重写后的call()方法。

代码展示
class phone{
	public void call(){
		System.out.println("我给你打电话");
		System.out.println("-----------");
	}
}
class Newphone extends phone{
	public void call() {
		System.out.println("我给你打电话");
		System.out.println("开启语音");
		System.out.println("关闭语音");
	}
}
public class Example02 {
	public static void main(String[] args) {
		phone a = new phone();
		a.call();
		phone b = new Newphone();
		b.call();
	}
}

运行结果:
我给你打电话
我给你打电话
开启语音
关闭语音

3.super关键字

题目三:1)编写一个Fu类,在类中定义无参构造方法、一个初始值为20的num成员变量。一个无返回值的show()方法。
2)Zi类继承Fu类,在子类中对num值进行了修改,同时在子类中定义无参构造和一个无返回值的method()方法,method()方法中使用super关键字调用了Fu类的num成员变量、调用Fu类的show()方法、调用Fu类的构造方法。
3)定义测试类Example03。

代码展示
class Fu{
 int num = 20;
 public Fu() {
 	System.out.println("父类无参构造方法被调用了");
 }	
 public void show() {
 	System.out.println("无返回值的方法被调用了");
 }
}
class Zi extends Fu{
  int num= 30;
 public Zi() {
 	super();//调用父类的无参构造方法
 	System.out.println("子类无参构造方法被调用了");
 }
 public void method() {
 	System.out.println("name="+super.num);//访问父类的成员变量
     super.show();//调用父类的成员方法
 }
}
public class Example03 {
 public static void main(String[] args) {
 Fu fu = new Fu();//创建父类的对象并调用无参构造方法
 System.out.println("num="+fu.num);//打印父类成员变量
 Zi zi = new Zi();//实例化子类的无参构造方法
 zi.show();//调用子类有父类继承过来的方法
 zi.method();
 System.out.println("num="+zi.num);//打印子类成员变量
}
}

运行结果:
父类无参构造方法被调用了
num=20
父类无参构造方法被调用了
子类无参构造方法被调用了
无返回值的方法被调用了
name=20
无返回值的方法被调用了
num=30

  1. 使用super关键字调用父类的成员变量和成员方法

super.成员变量
super.成员方法([参数1,参数2…])

  1. 使用super关键字调用父类的构造方法

super([参数1,参数2…])

总结

通过本次课的学习,并通过上机实践,掌握了一些java的关键字,对于this,super,extends关键字,以及getXxx()和setXxx()方法的使用比较熟悉。

心得体会

在这次Java的实验中,通过自己独立的完成实验,联系课堂所学的知识实现题目的需求,其实挺有成就感的。希望自己一直保持对于学习Java的热情,学好这门语言,相信自己。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

莪假裝堅強

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

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

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

打赏作者

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

抵扣说明:

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

余额充值