继承 java新人的一些总结

1、继承的意义

避免代码重复书写,便于维护。

2、注意事项

继承只能在类与类、接口与接口。
java类之间只接受单继承,不接受多继承,实现多个类的继承可以使用多层继承。

3、介绍

3.1 基本信息

继承:能够让一个类(子类)拥有另一个类(父类)的属性和方法。
关键字:extends
格式: public class 类名 extends 父类名{ }
子类是在父类的基础上,对属性或者方法进行扩展,得到新类别。
Object:是所有其他类的父类。

父类与子类之间是包含关系,父类只是针对于某个类而言的,此处作为父类,在他处也可以作为子类。

3.2 访问权限

继承某一个类,调用某一个类中的方法,都需要有对该类的访问权限
控制被修饰的内容能在哪些范围使用。

访问权限分为四类
			当前类中			同一个包下的类			不同包下的子类			不同包下的非子类
public		ok					ok						ok						 ok

protected	ok					ok						ok

缺省		ok					ok

private		ok

子类能拥有父类的哪些属性和方法?
子类继承父类,能拥有父类所有的属性和方法。部分属性和方法限于访问权限,不能直接使用。

以老师辅导学生为例,将学生作为父类,向下划分下高中生,大学生。

先创建学生类,编写有关学生所拥有的属性

package extend;

public class Student{
	//属性:姓名、性别、学号、年级
	String name = 张三;
	String sex;
	String sno;
	String grade;
	public void study() {
		
		System.out.println("学生在学习!" + name);
	}


	public static void main(String[] agrs){		\\添加主函数观察是否成功运行
		Student stu = new Student();
		stu.study();
}

结果为
在这里插入图片描述
创建大学生类继承学生类属性与方法

public class UNStudent extends Student{

	public static void main(String[] args){
	UNStudent unstu = new UNStudent();
	unstu.study();
}
}

结果与学生类一致
在这里插入图片描述
此处可以调用

在这里插入图片描述

子类可以重写父类的学习方法

	public class UNStudent extends Student{

	public void study() {
		//输出
		System.out.println("我是大学生,不是普通学生。");
	public static void main(String[] args){
		UNStudent unstu = new UNStudent();
		unstu.study();
	}
	}

``
结果变为
在这里插入图片描述

3.3 重写 和 转型

重写:父类的方法不能满足子类的需要,则子类可以重写父类的方法。
要求: 1、必须有继承关系。
2、父类的方法在子类中可见。
3、方法的声明,访问权限可以扩大,其他(返回值类型、方法名、参数)必须一致。

自动转型:子类对象可以自动的变为父类类型的对象。
自动转型后,方法的调用以子类为准。

即如果大学生类以继承学生类,此种写法等价于先前的写法。

Student unStu = new UNStudent();

按部就班构建高中生类、老师类

public class HStudent extends Student{
	public void study(){
		System.out.println("高中生要改变学习方法");		
	}
}
public class Teacher {
	public void fudao(Student unstu,HStudent hstu){		\\对象名可以与主函数不同
		unstu.study();
		hstu.study();	
	}

调用主函数

public static void main(String[] args) {
	Student unStu = new UNStudent();
	HStudent hStu = new HStudent();
	Teacher teacher = new Teacher();	
	teacher.fudao(unStu,hStu);	
}

结果为
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值