您的位置:首页 > 编程语言 > Java开发

Java基础之面向对象(三)

2014-12-07 20:36 288 查看
一、继承

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自己独特的内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: