package com.oop; import com.oop.demo05.A; import com.oop.demo05.B; /* * 封装的意义 * 1.提高程序的安全性 * 2.隐藏代码的实现细节 * 3.统一接口 * 4.系统的可维护性增加了 * */ public class Application { //静态方法和非静态方法区别很大!!! //有static时,b调用B类方法,因为b是用b类定义的 //没有static时,b调用的是对象的方法,而b是用A类new的 //静态方法://方法的调用只和左边定义的数据类型有关 //非静态方法:可以重写,和new的对象有关 public static void main(String[] args) { //方法的调用只和左边定义的数据类型有关 A a = new A(); a.test();//当有static时输出A=>test(),无时输出A=>test() //父类的引用指向了子类 B b = new A(); b.test();//当有static时输出B=>test(),无时输出A=>test() } }
package com.oop.demo05; //重写都是方法的重写,和属性无关 public class B { public void test(){ System.out.println("B=>test()"); } }
package com.oop.demo05; public class A extends B{ //public static void test(){ // System.out.println("A=>test()"); //} @Override//注解:有功能的注释,这里是重写的意思 public void test() { System.out.println("A=>test()"); } }
标签:11,com,public,static,oop,test,重写,面对 From: https://www.cnblogs.com/sankouyitouju/p/18097047