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));
    	}
    }
    

      结果示例:

  • 相关阅读:
    [BZOJ]2959: 长跑
    http状态码 超详细
    mysql注入常用函数
    tomcat7远程代码执行 ImageMagick 命令执行漏洞
    kali安装redis
    反序列化
    CSP 之dvwa
    token防爆破?
    变量覆盖
    安全狗绕过
  • 原文地址:https://www.cnblogs.com/chenxj/p/10292652.html
Copyright © 2011-2022 走看看