子级继承父级

子级继承父级

例1(父级对象):

//创建的父级类
public class fu{
    
    
    //私有属性
    private String name;//姓名
	private char sex;//性别
	private String id;//身份证
    
    //无参构造函数
	public fu() {
    
    
		System.out.println("----无参数----");
	}
	
	//有参构造函数
	public fu(String name,char sex,String id) {
    
    
        System.out.println("----参数有----");
		this.name =name;
		this.sex =sex;
		this.id = id;
    }
        
    //赋值方法
	public void setName(String name) {
    
    
		this.name =name;
	}
	
	public void setSex(char sex) {
    
    
		this.sex =sex;
	}
	
	public void setId(String id) {
    
    
		this.id =id;
	}
	
	//输出方法
	public String getName() {
    
    
		return name;
	}
	
	public char getSex() {
    
    
		return sex;
	}
	
	public String getId() {
    
    
		return id;
	}
    
    //父级输出方法
	public String toString() {
    
    
		return "名字:" + name + "\t" +
				"性别:" + sex + "\n" +
				"学号:" + id + "\t" ;
	}
}

例2(子级对象):

//创建的子级
public class zi extends fu {
    
    
	//属性	学校
	private String school;
	
	//无参构造函数
	public zi() {
    
    
		System.out.println("----无参数----");
	}
	
	//有参构造器
	public zi(String name,char sex,String id,String school) {
    
    
		super(name,sex,id);//继承super中name,sex,id的三个私有属性赋值
		this.school =school;//子级自己的属性
	}
	
	//子级输出方法
	public String toString() {
    
    
		return "名字:" + getName() + "\t\t" +
				"性别:" + getSex() + "\n" +
				"学号:" + getId() + "\t\t" +
				"学校:" + school;
	}

例3(测试):

//创建测试类
public class Test{
    
    
    public static void main(String){
    
    
		zi x = new Test("小明",'男',"001","清华北大");
		System.out.println(t1.toString());        
    }
}

继承方法里面的细节其实还是蛮多的

简单阐述一下:

  • 通常属性设置私有,父类的属性,子类是无法直接继续赋值和获取输出的。
  • 在父类可以创建无参构造函数,然后创建set和get方法,让子类可以通过set和gat方法来赋值和输出父级的属性。方法在上面,就不做多赘述了。
  • 但是可以通过继承,在创建子类的有参构造器时调用父级的私有属性进行赋值,但是要在构造器中加入 super(调用的私有属性1,调用的私有属性2,······),并且调用父级的属性必须在最前面,只能先调用父级的属性然后再调用子类自己的属性,否则就会报错!!!
  • 但是如果是通过上面方法,直接子类构造函数时调用父类的属性,就相当于跳过了set赋值方法,但是输出还是需要单独调出get方法来继续输出。

猜你喜欢

转载自blog.csdn.net/xin_shen_/article/details/106723776