zoukankan      html  css  js  c++  java
  • java--方法和成员的继承,访问

    //在调用方法的时候,不是看句柄是哪一个类,而应该看对象是属于哪一个类的,属于哪一个类的,就调用哪一个类的成员和方法。

    //子类可以添加自己的新方法,但是子类对象的引用赋值给父类句柄之后,不能使用父类的句柄访问子类的新方法。

    //父类的方法重载之后,将子类对象赋值给父类句柄,就不能使用父类句柄调用的该方法为子类覆盖的方法,而不是父类方法。方法覆盖机制。

    //但是,对父类中的变量,如果在子类中重新定义了,在使用该变量的时候,子类的对象使用它,就调用子类的该变量;父类的对象使用它,就调用父类的该变量。

    class S508{
    	int i = 1;
    	int fun(int i,int j){
    		System.out.println("S508() i+j = "+ (i+j));
    		return i+j;
    	}
    }
     class A508 extends S508{
    //	 int i = 9;
    	 int j = 10;
    	int fun(int i,int k){
    		System.out.println("A508() i*k = "+i*k);
    		return i*k;
    	}
    	double fun(double i,int j){
    		System.out.println("A508() i+j = "+(i+j));
    		return i+j;
    	}
    	
    }
    public class F508{
    	public static void main(String[] args) {
    		S508 s= new S508();
    		
    		s.fun(2,5);
    		System.out.println(s.i);
    		A508 a = new A508();
    		
    		a.fun(2,5);
    		System.out.println(a.i);
    		
    //		a = s;
    		a.fun(2.2,5);
    		System.out.println(a.i);
    		
    		s = a;//子类对象赋值给父类句柄
    //		System.out.println(s.i);
    		s.fun(2, 5);
    		System.out.println(s.i);
    //		System.out.println(s.j);
    		
    	}
    }
    

     输出结果:(IDE eclipse)

    S508() i+j = 7
    1
    A508() i*k = 10
    1
    A508() i+j = 7.2
    1
    A508() i*k = 10
    1

  • 相关阅读:
    使用PowerDesigner创建表并导入到数据库
    第二次作业——结对项目之需求分析与原型模型设计
    使用Git进行代码管理
    常用
    头文件
    只出现一次的数
    链表实现基础排序算法
    判断链表有公共点
    单链表判环
    二叉树非递归遍历
  • 原文地址:https://www.cnblogs.com/plxx/p/3331057.html
Copyright © 2011-2022 走看看