zoukankan      html  css  js  c++  java
  • 2019-1-19

    一、方法的重写或方法的覆盖(overriding)

      1、子类根据需求对从父类继承的方法进行重新编写

      2、重写时,可以用super。方法来保留父类的方未能

      3、构造方法不能重写

    二、方法重写的规则

      1、方法名相同

      2、参数列表相同或者是其子类

      3、返回值类型相同或者是其子类

      4、访问权限不能严于父类

      5、父类的静态方法不能被子类覆盖为非静态方法,父类的非静态方法不能被子类覆盖为静态方法

      6、子类可以定义与父类同名的静态方法,以便在子类中隐藏父类的静态态方法  PS:静态方法中无法使用super

      7、父类的私有方法不能被子类覆盖

      8、不能抛出比父类方法更多的异常

         

    三、重写equals方法

      写一个带名字和年龄的猫类,创建两个对象,对比是否相同

    package java_2019_1_19;
    //猫类
    public class Cat {
    	private String name;
    	private int age;
    	
    	public Cat() {}
    	
    	public Cat(String name, int age) {
    		this.name = name;
    		this.age = age;
    	}
    	
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	@Override
         //重写equals对比方法,如果两个对象的名字和年龄一样即为相同 public boolean equals(Object arg) { if(arg instanceof Cat) { Cat a = (Cat)arg; if(a.name.equals(this.name)&&a.age==this.age) { return true; } } return false; } }
    package java_2019_1_19;
    //测试
    public class Test {
    	public static void main(String[] args) {
    		Cat a1 = new Cat("小白",16);
    		Cat a2 = new Cat("小白",16);
    		System.out.println(a1.equals(a2));
    	}
    }
    

      结果示例:

  • 相关阅读:
    HDU1372,BFS象棋马走日
    看完一本小的算法书一个总结吧
    最小生成树Prim
    Junit单元测试的简单使用(主要是在spring框架下的项目)
    并查集
    最新最实用的公式技巧大汇总!
    这款Office密码破解工具,无坚不摧!
    有了它,友谊的船说不翻就不翻!
    Word公式装逼技巧,你绝对不会!
    为什么MathType窗口变灰色
  • 原文地址:https://www.cnblogs.com/chenxj/p/10292652.html
Copyright © 2011-2022 走看看