`

java 继承的一个问题(想不明白)

阅读更多
java中的继承问题,以为是学会了java,结果最简单的一个java继承问题都难倒了
请牛人指点一二,请看源码:

类A
package heritage;
class A{   
    int x, y;   
       
    public void setValue(int i, int j) {   
        x = i;   
        y = j;   
    }   
  
    int multiply(){   
        return x * y;   
    }   
}    


继承A类的B
package heritage;
class B extends A{   
    int x, y;   
  
    B(int i, int j) {   
        x = i;   
        y = j;   
    }   
  
    int multiply(){   
        return x * y;   
    }   
}   


测试类Test
package heritage;

public class Test {
	public static void main(String[] args) {
		B subObj = new B(6, 9);
		subObj.setValue(7, 8);
		int m = subObj.multiply();
		System.out.println(m); //54
	}

}

输出是54为何??
子类的x,y屏蔽了从父类继承而来的x,y调用父类的setValue只能改变父类继承而来的x,y,而不能改变子类中的x,y,如果想得到56,可以将子类中的x,y去掉即可。



java中的静态方法:
package staticmethod;

public class A {

	public static void simpleMethod() {
		System.out.println("hello");
	}

	public static void main(String arg[]) {

		A.simpleMethod();

		A a = null;
		a.simpleMethod();  //静态方法和实例没有关系,所以没有空指针的错误

	}
}

执行结果:
hello
hello
分享到:
评论

相关推荐

    IO流体系继承结构图_动力节点Java学院整理

    Java IO体系结构看似庞大复杂,其实有规律可循,要弄清楚其结构,需要明白两点: 1. 其对称性质:InputStream 与 OutputStream, Reader 与 Writer,他们分别是一套字节输入-输出,字符输入-输出体系 2. 原始处理器(适配器)...

    张孝祥Java就业培训教程.pdf

    如果你想非常轻松就精通Java编程,并期望学完便能参加实际的开发工作,本书就是你非常好的一个选择。 目录: 第1章 Java开发前奏 1.1 Java虚拟机及Java的跨平台原理 1.2 Java开发环境的搭建 1.3 体验Java编程的过程...

    AIC的Java课程1-6章

     掌握package(又称默认,友元)控制符,系统掌握4种访问控制符 第6章 面向对象(多态) 4课时  理解多态的概念,不关心具体细节,以抽象一般的思维方式考虑问题(同一接口,不同实现)。...

    使用Java实现面向对象编程

    比如:车,汽车,延伸成电动汽车, 这是一个飞跃首先要先弄懂JAVA的编程基础语法。其次弄明白对象是什么,电动汽车。先编好 车 的函数;再继承车的特性,延伸成汽车;再继承汽车的特性。编程时要有客观事物的思想,...

    整理后java开发全套达内学习笔记(含练习)

    宣告变量名称的同时,加上“final”关键词来限定,这个变量一但指定了值,就不可以再改变它的值 如:final int n1= 10; n1=20; 这就会报错 输出命令: System.out.println() 会自动换行的打印 System.out....

    完成Java面向对象程序设计实验课的心得体会(1).doc

    一切都是为了让人明白,有能让机器理解的思想 我想分析和抽象能力的高低是个关键,首先要从问题域分析和抽象出准确的对象模型, 再根据这些模型进行处理,当然在过程种少不了楼上前辈们说的一些思想和细节,但是 别...

    完成Java面向对象程序设计实验课的心得体会.doc

    如:空间、群、环、域等原始的编程思 想就象古典数学,人们只在一个集合上探讨问题,没有系统的方法〔即运算〕定义,于 是仁者见仁、智者见智,这样在一定程度上造成了理论的一种混乱局面,不利于科学的 发展。...

    Java面试宝典和大学生面试宝典

    每次面试总会有些问题回答得不好,回来之后一定要总结,把不懂 的问题搞明白。一个求职者就碰到两家公司问了同样的问题,第一次答 不出,回去没查,第二次又被问到,当然这是很郁闷的事情。  3.2 电话面试 电话...

    Java服务器端开发面试.doc

    涉及到各种效率问题等,里面最好阅读一下源码 集合的遍历方法和使用iterator来遍历的区别,集合可否修改,能否删除其中的一 个元素,然后size是否变化等等问题 JAVA垃圾回收,内存结构 异常的种类 Object类,哪些...

    尚硅谷-实验-继承&super;.pdf

    ·课程共30天,715个知识视频小节,涉及主流Java使用的方方面面,全而不冗余 ·全程内容涵盖数据结构、设计模式、JVM内存结构等深度技术 ·企业级笔试面试题目深入源码级讲解,拒绝死记硬背 4.代码量更大、案例更...

    oriented Programming with ANSI-C

    前一段时间面试被问到一个问题,怎么用C去实现面向对象的特性,比如封装、继承和多态。我心想这不是闲的蛋疼么,好吧,我承认我不会...[大哭]。然后去网上找相关的文章,有文章推荐了《Object-Oriented Programming ...

    as3 接口类的用法和好处

    原来,接口和抽象类相比,多出的一个优势在于(仅限Java和AS3),一个类可以实现多个接口,但是不能继承多个类。所以,如果在这里改用接口,就一切都好解决了。先定义两个接口: package{ public interface ...

    Java中那些我不太明白的小知识(四)

    接口的定义跟类定义的方式类似,但是使用到了interface关键字,但是接口不是一个类,而是一个引用数据类型 定义格式: public interface 接口名{ //成员变量,有final修饰,所以必须初始化 //成员方法,有...

    java线程池概念.txt

    即当线程池中的线程数大于corePoolSize时,如果一个线程空闲的时间达到keepAliveTime,则会终止,直到线程池中的线程数不超过corePoolSize。但是如果调用了allowCoreThreadTimeOut(boolean)方法并设置了参数为true,...

    JAD解决MISSING_BLOCK_LABEL心得

    jad的bug和限制: 1.包含有内部类,则jad处理构造函数的参数时会出错;... 5.JAD不能处理继承信息,总是把java.lang.Object作为两个不同类的通用父类,需要的时候做强制转换 6.jad对inlined functions处理不好

    从Java多态到策略模式

     接下来我们再说下什么叫策略模式:将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。  可能说了这么多你还没明白什么事策略...

    java8源码-LearnSpring:学习springboot

    要想明白源码中注解为何如此解析首先需要明白该注解是如何定义的注解的定义很重要 Spring之所以可以不用 web.xml ,做到所谓的约定大于配置,两方面原因在起作用: 一是 servlet3.0 版本新增若干注解,使得 Servlet,...

Global site tag (gtag.js) - Google Analytics