javaSE学习的week04

3.3 继承中成员方法的关系

package cn.hncu_08;
/*
 * 继承中成员方法的关系:就近原则
 * 
 * 方法重载:方法的方法名相同,方法的参数不同.
 * 方法重写:子类中出现了和父类中方法申明一样的方法.
 * 
 * 方法重写的应用:
 * 		子类继承父类的功能,但是又具有自己独特的功能时,就要方法重写.
 * 
 * 方法重写的注意事项
 * 		父类中私有方法不能被重写.  私有方法不能被继承,不存在重写的说法
 * 		子类重写父类方法时,访问权限不能更低. 子类重写方法的权限一般与父类方法相同.
 * 		父类静态方法,子类也必须通过静态方法进行重写。
 * 	
 * 方法重写和方法重载的区别?方法重载能改变返回值类型吗?
 * 		Overload:方法重载
 * 					方法的方法名相同,方法的参数不同.
 * 		Override:方法重写
 * 					子类中出现了和父类中方法申明一样的方法.
 * 		方法重载能改变返回值类型.

 */
class Father {
	public void method(){
		System.out.println("Father method");
	}
}

class Son extends Father{
	//方法重写
	public void method(){
		System.out.println("Son method");
	}
	
	public void fun(){
		method();
	}
}

public class Demo {
	public static void main(String[] args) {
		Son son = new Son();
		son.fun();
	}
}

4. final关键字

package cn.hncu_09;
/*
 * final关键字是最终的意思,可以修饰类,成员变量,成员方法。
 * 		修饰类,类不能被继承
 * 		修饰变量,变量就变成了常量,只能被赋值一次
 * 		修饰方法,方法不能被重写
 */
final class  Father {
	public void method(){
		final int number = 10;
		//number = 20;
	}
}
/* class Son extends Father{
	 
 }*/
public class Demo {

}

练习:

package cn.hncu_10;

/*
 * 老师学生案例,继承版
 * 
 * 老师和学生都应该继承自人类
 */
class Person {
	private String name;
	private int age;
	public Person() {
		
	}
	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public void eat(){
		System.out.println("吃饭");
	}
	public void sleep(){
		System.out.println("人都要睡觉");
	}
}

class Student extends Person{
	//成员变量
	private String name;
	private int age;
	private String sex;
	
	//构造方法
	public Student() {
	}
	public Student(String name, int age) {
		//super(name, age);
		this.name = name;
		this.age = age;
	}
	public Student(String name, int age, String sex) {
		super();
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
	//成员方法
	//方法重写
	public void eat(){
		System.out.println("学生吃饭");
	}
	
	public void study(){
		System.out.println("好好学习");
	}
}

class Teacher{
	//成员变量
	private String name;
	private int age;
	
	//构造方法
	
	public Teacher() {
		super();
		// TODO Auto-generated constructor stub
	}
	public Teacher(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	
	//成员方法
	public void eat(){
		System.out.println("老师能吃幸福午餐");
	}
}

public class Demo {
	public static void main(String[] args) {
		Student s1 = new Student();
		s1.setName("生活委员");
		s1.setAge(19);
		System.out.println(s1.getName()+ "---" + s1.getAge());
		s1.eat();
		s1.study();
		//-----------测试老师类,自己完成
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值