详述:Java继承与重写

详述:Java继承与重写

Java重写以代码加注释的形式
我以elcipse为例,在eclipse中建立Java project一个项目,然后创建两个类,一个person类,一个student类。

package jicheng;

//public final class person {  如果加了final修饰,则该类是无法被继承的
//	String sex;
//	String name;
//	String address;
//	
//	public void eat() {
//		System.out.println("XXXXXXX");
//	}
//	
//}



public class person {  //如果没有写父类,默认是object的子类,也就是说,object是所有类的父类
	String sex;		//子类可以继承父类的属性与方法,但是如果该属性或者方法若被private修饰,则子类不能继承
	String name = "xxx";
	String address;
	
	public void eat() {
		System.out.println("XXXXXXXXXXXX");
	}
	//小知识点:被final修饰的类  void scanner string class system
}
package jicheng;

public class student extends person{	//extends 继承其他类的代码,这里称person是student的父类,而且只能单继承,不能多,只能继承一个父类,不能同时继承多个父类
//	String sex;
//	String name;
//	String address;
//	
//	public void eat() {
//		System.out.println("吃肉松小贝吗?");
//	}
	
	int name = 1;
	{
		System.out.println(name);
		System.out.println(super.name);
	}
	//1、子类属性名与父类相同,子类创建的对象调用的重名属性是子类的
	//2、如果想使用父类的属性,需要加关键字super
	//3、super关键字在静态属性和静态代码块中不适用
	@Override			//  注解  表示为重写的方法    	public > protected > 默认的 > private
	public void eat() {			 
		System.out.println("XXXXXXX");
	}
	//1、父类方法如果被final修饰,则父类方法不不能被重写  
	//2、重写的方法访问控制符不能小于父类的访问控制符
	
	public static void main(String[] args) {
		student student1 = new student();
		
		student1.eat();
		//student1.name = "XXX";
		//System.out.println(student1.name);
	}
	
	
}

在建立两个类,一个Father类,一个Son类

package jicheng;

public class Father {
	
	
	String name;
	String address;
	
	public void eat(String name) {
		System.out.println("吃肉松小贝");
	}
	
	public Object read() {
		System.out.println("heihiehie");
		return 0;
	}
	//	1、父类中方法static修饰,则该方法不能被重写
	//  2、父类中非静态方法,子类重写后不能添加static
}
package jicheng;

public class Son {
	
	//1、重写的方法需要和父类的方法名和参数列表(参数个数+参数数据类型)相同
	//2、如果父类的方法返回值是void类型或者是基本数据类型,则重写后的方法要与父类的返回值类型相同
	//3、如果父类的方法返回值是数据引用类型,则重写后的方法要么和父类相同,要么是父类返回值类型的子类
	public void eat() {
		System.out.println("吃个大头鬼!");
	}
	
	public Object read() {			//这里Object也可以换成String; 但如果父类是String 则子类也只能是String,因为Sting被final修饰
		System.out.println("哈哈哈哈");
		return "";
	}
	
	public static void main(String[] args) {
		Son son = new Son();
		son.eat();
	}
}

以上代码均属于一个Java project, 切记。

发布了11 篇原创文章 · 获赞 14 · 访问量 291

猜你喜欢

转载自blog.csdn.net/ArcsinTao/article/details/103327503