Java——10——方法重写

一:方法重写的理解

注意:区分重载与重写
在这里插入图片描述

二:练习

例题1

Person.java

package com.xx.study;

public class Person {
	
	String name;
	int age;
	public Person() {}
	public Person(String name,int age) {
		this.name=name;
		this.age=age;
	}
	public void eat() {
		System.out.println("吃饭");
	}
	public void sleep(int time) {
		System.out.println("睡觉"+time+"小时");
		show();
	}
	private void show() {
		System.out.println("今天要早睡啊");
	}
	public Object info() {
		return null;
	}
}

Student.java

package com.xx.study;

public class Student extends Person {
	String major;

	public Student() {
	}

	public Student(String major) {
		this.major = major;
	}

	public void study() {
		System.out.println("专业是" + major);
	}

	// 对父类的eat方法重写
	public void eat() {
		System.out.println("吃减脂餐");
	}

	// 特殊情况,子类中不能重写父类中声明为private权限的方法,显示的还是父类的值
	public void show() {
		System.out.println("dd");
	}

	/*
	 * 父类Object的重写 父类重写的方法的返回值类型是A类型,
	 * 则子类重写的方法类型可以是A类或A的子类
	 * String是Object的子类
	 */
	public String info() {
		return null;
	}
}

PersonTest.java

package com.xx.study;

public class PersonTest {
  public static void main(String[] args) {
	Student s=new Student("计算机科学与技术");
	s.eat();
	s.sleep(10);
	s.study();
	
}
   
}

例题2

在这里插入图片描述
private无法覆盖
Kids.java

package com.xzx.contact;

public class Kids extends ManKind{
  private int yearsOld;
  public Kids() {}
  public Kids(int yearsOld) {
	  this.yearsOld=yearsOld;
  }
  public int getyearsOld() {
	  return yearsOld;
  }
  public void setyearsOld(int yearsOld) {
	  this.yearsOld=yearsOld;
  }
  
  public void printAge() {
	  System.out.println(yearsOld);
  }
  public void employeed() {
	  System.out.println("Kids should study and no job");
  }
  
  
}

KidsTest.java

package com.xzx.contact;

public class KidsTest {
	public static void main(String[] args) {
		Kids someKids = new Kids();
		someKids.setSalary(100000);
		System.out.println(someKids.getSalary());
		Kids someKids2 = new Kids(1);
		System.out.println(someKids2.getyearsOld());
		someKids.employeed();
	}

}

三:重写和重载区别

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值