学习日记第2天

标题关于继承中super与this的理解

super是指对象的父类,this是指对象本身。
一个简单的会员注册例子:

账号基本信息

public abstract class UserInfo {
	private String name;
	private String id;
	private String password;
	public UserInfo()
	{		
	}
	public UserInfo(String name,String id,String password)
	{
		this.name=name;
		this.id=id;
		this.password=password;
	}
	public abstract void GetOperation();

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {}
}

SVIP类继承UserInfo类

public class SVIP extends UserInfo {
    private int time;
    private int level;
    public SVIP() {}
    public SVIP(String name,String id,String password) {
           this(name,id,password,0,0);
    }
    public SVIP(String name,String id,String password,int time,int level)
    {
           super(name,id,password);
           this.time=time;
           this.level=level;
    }
    public void GetOperation()
    {
           switch(this.level)
           {
                  case 0:
                        System.out.println("普通权限");
                        break;
                  case 1:
                        System.out.println("VIP1权限");
                        break;               
           }             
    }
    public int getTime() {
           return time;
    }
    public void setTime(int time) {
           this.time = time;
    }
    public int getLevel() {
           return level;
    }
    public void setLevel(int level) {
           this.level = level;
    }
}

主函数调用

	public static void main(String[] args) {
		SVIP d1=new SVIP("张三","4396","123456",15,1);
		System.out.println("账号名:"+d1.getName()+"\r\n账号ID:"+d1.getId()+"\r\n账号密码:"+d1.getPassword()+"\r\nVIP剩余天数:"+d1.getTime()+"\r\nVIP等级:"+d1.getLevel());
		d1.GetOperation();
		SVIP d2=new SVIP("张三","4396","123456");
		System.out.println("账号名:"+d2.getName()+"\r\n账号ID:"+d2.getId()+"\r\n账号密码:"+d2.getPassword()+"\r\nVIP剩余天数:"+d2.getTime()+"\r\nVIP等级:"+d2.getLevel());
		d2.GetOperation();				
	}

结果

账号名:张三
账号ID:4396
账号密码:123456
VIP剩余天数:15
VIP等级:1
VIP1权限
账号名:张三
账号ID:4396
账号密码:123456
VIP剩余天数:0
VIP等级:0
普通权限

由于JAVA不能像C#直接设置形参的默认值。这里只能使用重载实现默认参数的功能。

自我感悟:感觉写博客确实能够提升代码理解程度。

你可能感兴趣的:(学习)