博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java继承
阅读量:5881 次
发布时间:2019-06-19

本文共 3669 字,大约阅读时间需要 12 分钟。

Java时单继承,只能继承一个父类,但是可以实现多个接口

继承的子类不能直接访问父类中的私有属性,只能通过get和set方法来访问

在继承的操作中,子类对象在实例化之前必须首先调用父类中的构造方法后再调用子类自己的构造方法。

//=================================================// File Name       :	extends_demo//------------------------------------------------------------------------------// Author          :	Common// 类名:person// 属性:// 方法:class person{	private String name;	private int 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;	}}//类名:student//属性://方法:class student extends person{	private String school;	public String getSchool() {		return school;	}	public void setSchool(String school) {		this.school = school;	}}public class extends_demo {	public static void main(String[] args) {		// TODO 自动生成的方法存根		student person_1 = new student();		person_1.setName("张三");		person_1.setAge(10);		person_1.setSchool("涵三中");		System.out.println("姓名:"+person_1.getName()+"\n"+"年龄:"+person_1.getAge()+"\n"+"学校:"+person_1.getSchool());	}}

 

方法的覆写

方法的覆写就是指子类定义了与父类中同名的方法,但是在方法覆写时候必须考虑到权限,即被子类覆写的方法不能拥有比父类方法更加严格的访问权限。

访问权限:private default public  private<default<public

如果在父类中使用public定义的方法,则子类的访问权限必须是public,否则无法编译

如果将父类的一个方法定义成private访问权限,在子类中将此方法声明位default访问权限,这不算是覆写

调用父类的属性时,直接使用super.XXX

//=================================================// File Name       :	extends_demo//------------------------------------------------------------------------------// Author          :	Common// 类名:person// 属性:// 方法:class person{	private String name;	private int 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;	}		//方法:print	void print(){	//定义一个默认访问权限的方法		System.out.println("Person---->void print()");	}}//类名:student//属性://方法:class student extends person{	private String school;	public String getSchool() {		return school;	}	public void setSchool(String school) {		this.school = school;	}		//方法:print	public void print(){	//覆写父类中的方法,扩大了权限		System.out.println("student---->void print()");	}	}public class extends_demo {	public static void main(String[] args) {		// TODO 自动生成的方法存根		student person_1 = new student();		person_1.setName("张三");		person_1.setAge(10);		person_1.setSchool("涵三中");		System.out.println("姓名:"+person_1.getName()+"\n"+"年龄:"+person_1.getAge()+"\n"+"学校:"+person_1.getSchool());		new student().print();	}}

 

 

继承的应用

定义一个整型数组类,要求包含构造方法,增加数据及输出数据成员方法,并利用数组实现动态内存分配。在此基础上定义出以下两个子类。

<1>排序类:实现排序

<2>反转类:实现数据反向存放

//=================================================// File Name       :	array_demo//------------------------------------------------------------------------------// Author          :	Common// 类名:Array// 属性:// 方法:class Array{	private int temp[];	//定义一个整形数组,此数字的大小由传入的len决定	private int foot;		//定义数组的当前元素下标		public Array(int len){	//数组的大小由len决定,构造方法		if(len>0){						//判断传入的长度是否大于0			this.temp = new int[len];		//根据传入的大小开辟空间		}else{												this.temp = new int[1];		//否则只开辟长度为1的空间		}	}		public boolean add(int i){					if(this.foot < this.temp.length){	//判断数组是否已经满了			this.temp[foot] = i;					//没有存满则继续添加			foot++;										//修改下标			return true;								//添加成功		}else{			return false;								//添加失败,已经存满了		}	}		public int[] getArray(){					//得到全部的数组		return this.temp;	}	}//类名:array_Sort//属性://方法:class array_Sort extends Array{	public array_Sort(int len) {		super(len);		// TODO 自动生成的构造函数存根	}		public int[] getArray(){								//覆写父类中的方法		java.util.Arrays.sort(super.getArray());	//排序操作 		return super.getArray();							//使用父类中的方法输出数组	}		public void print_array_Sort(){					//输出排序之后的数组		for(int i=0;i

 

转载地址:http://qqpix.baihongyu.com/

你可能感兴趣的文章
影响企业信息化成败的几点因素
查看>>
SCCM 2016 配置管理系列(Part8)
查看>>
struts中的xwork源码下载地址
查看>>
ABP理论学习之仓储
查看>>
我的友情链接
查看>>
Tengine新增nginx upstream模块的使用
查看>>
CentOS图形界面和命令行切换
查看>>
HTML5通信机制与html5地理信息定位(gps)
查看>>
汽车常识全面介绍 - 悬挂系统
查看>>
加快ALTER TABLE 操作速度
查看>>
学习笔记之软考数据库系统工程师教程(第一版)
查看>>
PHP 程序员的技术成长规划
查看>>
memcached 分布式聚类算法
查看>>
jquery css3问卷答题卡翻页动画效果
查看>>
$digest already in progress 解决办法——续
查看>>
虚拟机 centos设置代理上网
查看>>
Struts2中Date日期转换的问题
查看>>
mysql 数据类型
查看>>
Ubuntu 设置当前用户sudo免密码
查看>>
设置tomcat远程debug
查看>>