zoukankan      html  css  js  c++  java
  • 重写equals和toString例子

    public class TestTeacher {
    	public static void main(String[] args) {
    		Person p1 = new Person("A");
    		Person x = new Person("f");           /////////////////////
    		Person p2 = new Person("B","shanghai");
    		Person p3 = new Person("A");
    		
    		
    		Student s1 = new Student("C","S1");
    		Student s2 = new Student("C","shanghai","S2");
    		
    		System.out.println(p1.equals(p3)); 
    		System.out.println(p1==p3);                  //验证类中equals的重写的实现
    		System.out.println("person的toString验证结果是"+x);  //验证toString的重写
    		System.out.println(p1.info());
    		System.out.println(p2.info());
    		System.out.println(s1.info());
    		System.out.println(s2.info());
    		
    		Teacher t1 = new Teacher("D","Professor");
    		System.out.println(t1.info());
    	}
    }
    
    //创建Person类
    class Person {
    	
    	//定义成员变量
    	private String name;
    	private String location;
    	
    	//Person构造方法
    	Person(String name) {
    		this.name = name;
    		location = "beijing";	
    	}
    	
    	//Person构造方法重载
    	Person(String name,String location) {
    		this.name = name;
    		this.location = location;
    	}
    	
    	//Person普通方法
    	public String info() {
    		return "name:"+name+"location"+location;
    	}
    	
    	//Person重写 equals方法
    	public boolean equals(Object obj) {
    		if(obj == null) return false;
    		else {
    			if(obj instanceof Person) {
    				Person p = (Person)obj;
    				if(this.name == name && this.location == location) {
    					return true;
    				}
    			}
    		}
    		return false;
    	}
    	
    	//Person重写toString方法
    	public String toString() {
    		return "I'm a cool Person";
    	}
    }
    
    
    //子类class继承父类定义
    class Teacher extends Person {
    	private String capital; //定义成员变量
    	
    	//Teacher构造方法
    	Teacher(String name,String capital) {
    		this(name,"beijing",capital);
    	}
    	
    	//Teacher构造方法重载
    	Teacher(String n,String l,String capital) {
    		super(n,l);
    		this.capital = capital;
    		
    	}
    	
    	//Teacher普通方法
    	public String info() {
    		return super.info()+"capital:"+capital;
    	}
    }
    
    
    
    
    
    
    
    
    
    
    
    //class继承基类
    class Student extends Person{
    	private String school;
    	
    	//student构造方法
    	Student(String name,String school) {
    		this(name,school,"beijing");
    	}
    	
    	//student构造方法重载
    	Student(String n,String l,String school) {
    		super(n,l);
    		this.school = school;
    	}
    	
    	//普通方法
    	public String info() {
    		return super.info()+"school: "+school;
    	}
    }
    
  • 相关阅读:
    《人月神话》阅读笔记3
    第十五周总结
    《人月神话》阅读笔记2
    对正在使用的输入法评价
    课堂练习(找水王问题)
    第二阶段冲刺第十天
    第二阶段冲刺第九天
    第二阶段冲刺第八天
    第二阶段冲刺第七天
    openwrt U盘启动
  • 原文地址:https://www.cnblogs.com/lsswudi/p/11265270.html
Copyright © 2011-2022 走看看