详述继承和重写

继承和重写

继承

  1. 继承:是一种基于已有类(父类Father)创建新类(子类son)的一种方式

  2. Object类是所有类的父类

  3. Java中类只有单继承,而不是多继承

  4. 如果一个类由final 修饰,则其没有子类,如:String System 基本数据类型包装类:int Integer ,byte Byte ,short Short, long Long ,float Float ,Double,Boolean,Character

  5. 不是父类所有的方法和成员变量子类都可以继承 private修饰的方法和成员变量不能被子类继承

  6. 子类可以继承成员变量 如果子类成员变量名(而不是数据类型)和父类相同,则子类对象调用的是子类中的变量


重写

Father类:

Public class Father{
	public void eat(){
		System.out.println("爸爸用筷子吃饭");
	}
}

Son类:

Public class Son extends Father{
    @Override
    //改写后的方法可以用@Override注解修饰而不报错,不加的话则是一个新方法
	public void eat(){
   	 	Super.eat();//调用父类eat方法
		System.out.println("儿子用叉子吃饭");
	}
}

Test类:

Public class Test{
	public static void main(String[] args) {
		Son son = new Son();
    	son.eat();    
	}
}

如何重写

  1. 重写后的方法访问权限(public protected 默认 private)要么和父类方法相同, 要么大于父类方法。
  2. 父类中final修饰的方法子类不允许被重写,但是可以被继承。
  3. 父类中static修饰的方法,子类不允许重写,但可以被继承(静态的,建议用类名调用)。
  4. 子类重写后的方法不能添加static修饰
  5. 重写后的方法,方法名必须和父类方法名相同,方法调用的参数列表除名字不做限制外,其他必须相同。
  6. 返回值:
    1. 如果父类方法为void或基本数据类型,则重写后的方法必须和父类方法保持一致
    2. 若父类方法的返回值为引用类型 则重写后的方法返回值要么与父类一致,要么是父类方法返回值的子类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值