Java基础之面向对象(三)

一、继承
1、前面我们已经知道了类,学生是一个类,小红是学生,小明也是学生,他们都属于学生,他们都有相同的属性(姓名,性别,学号)和方法(学习)。
那我们每次在需要一个学生的时候我们都需要重新写一个类吗?不!Java给我们提供了继承来解决这个问题。
比如:
//这是一个学生类
public class Students{
	//定义学生的属性
	String name;
	String id;
	String sex;
	//定义方法
	public void learn(){
		System.our.print(name+" like to leran Java!");
	}
}	
//创建一个具体的学生继承学生类的所有属性
public class StudentEric extends Students{
}
//在主函数文件中调用具体的学生类(StudentEric)
pulic class Main{
	//主函数
	public static void main(String[] args){
		//通过new关键字创建studentEric的对象
		StudentEric studentEric=new StudentEric();
		//为studentEric赋值
		studentEric.name="Eric";
		studentEric.sex="Man";
		studentEric.id="20120001";
		//调用学习的方法
		studentEric.leran();
	}
}
2、如果子类继承了父类,则子类自动具有父类的全部数据成员(数据结构)和成员方法(功能);但是,子类对父类成员的访问有所限制;
3、子类可以定义自己的数据成员和成员函数,同时也可以修改父类的数据成员或重写父类的方法;
4、父类、子类都是“相对”的;
5、在Java中,Object类为特殊超类或基类,所有的类都直接或间接地继承Object;
6、Java语言只支持单继承
二、重写
1、如果子类中定义了和父类一样的方法(相同的名称和参数),这叫做方法的重写。
//父类学习的方法
public void learn(){
		System.our.print(name+" like to leran Java!");
}
//子类重写父类的学习方法
//@Override是重写方法的标识词,他能帮助我们限制下面的方法是父类方法的重写
@Override
public void learn(){
		System.our.print(name+" like to leran Android!");
	}
三、this关键字

1、this表示当前活动对象的本身。

//
public class Students{
	//定义一个私有的属性,这样其他类不能直接访问这个属性
	private String name;
		this.name=name;
	}
}

四、super关键字
1、super表示当前对象的父对象
2、在父类中定义了有参构造器的时候,子类就必须重载构造器。这时候就需要super了。
//父类
public class Students{
	//属性
	String name;
	//构造器
	public Students(Stirng name){
		this.name=name;
	}	
}
//子类
public class StudentLily extens Students{
	//重载构造器
	public Students(String name){
		super(name);
	}
}
注意:静态方法中不能使用this和super。
五、强制转型
1、和数据类型一样,类与类之间也能进行强制转换,但这种关系只能发生在子类与父类之间
比如:studentEric他实际也是一个学生,所以他能被转换成Students
pulic class Main{
	//主函数
	public static void main(String[] args){
		//通过new关键字把studentEric强制转换为Students
		Students students=new StudentEric();
		//为students赋值
		students.name="Eric";
		students.sex="Man";
		students.id="20120001";
		//调用学习的方法
		student.leran();
	}
}
注意:虽然studentsEric能被强制转换为Students,但是Students只能访问到studentEric继承自StudentS的内容,并不能访问studentsEric自己独特的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值