Java 重写 -15天 学习笔记

重写

在子类中创建一个与父类相同名,返回值类型相同,方法相同,只是方法体中的实现不同,以实现不同与父类的功能。
alt + insert : override

重新的意义

假如父类是动物,有个方法叫动物叫, 但是子类是狗,使用父类的动物叫就不能表现狗的特征,就需要重写为汪汪叫。子类根据自己需要改写父类的方法。

静态方法和非静态的方法差别很大!
所以正常情况下不要加static

  • 静态方法: 方法的调用只和左边,定义的数据类型有关

public class A extends B
{
		//override  重写
	 	
		public static void text (){
				System.out.println("A>哈哈大笑");
		}
		
		//重写:都是方法的重写,和属性无关
public class B 
{
		//我们使用static 两边都要使用static
		public static void test(){
				System.out.println("B>哈哈大笑");
		}
		
		
		import com.oop.Demo02.A;
import com.oop.Demo02.B;
public class Application
{
		public static void main (String[] args){
				
  		A a = new A();
				a.text();//A类的静态方法
				
				//向上转型
				/*
				父类与子类都加static时各种输出各自的方法
				一个A>哈哈大笑,一个B>哈哈大笑
				
				取消static后 子类就重新了父类的方法只输出A>哈哈大笑
				*/
				//父类的引用指向了子类
				B b = new A();//子类重写了父类的方法
		  b.test();//B类的静态方法
		
		}
  • 非静态方法
public  void text (){
				System.out.println("A>哈哈大笑");
		}
public  void test(){
				System.out.println("B>哈哈大笑");
		}

总结

1.重写要有继承关系,子类重新父类的方法,比如有血缘关系,但是儿子可以有基因突变。

1.方法名必须相同

2.参数列表必须相同

3.修饰符 :范围可以扩大不能缩小

public > protected >default > private,

重写我们一般都是使用public。

4.抛出的异常:范围,可以被缩小,但是不能扩大: ClassNotFoundException --> Exception(大)

重写:子类的方法必须与父类相同:方法体不同。

猜你喜欢

转载自blog.csdn.net/yibai_/article/details/114856548