习题精选视频答疑(第5章)
耿祥义
摘要 《Java实用教程第5版-微课版》ISBN:978-7-302-46425-9中的大部分习题包含于配套题库T2版中。根据教学中发现的学生的疑惑和常见问题,本公众号精选部分题目,陆续用视频的方式给予讲解,以便使更多学习Java的同学获益。 解答一题目涉及到的知识点:
题目 :对于下列代码,下列哪个叙述是正确的?答案D
E.java
class Animal{ int m; Animal(){ m = 100; } Animal(int m) { this.m = m; } } class Dog extends Animal { Dog() { m += 10; } } public class E { public static void main(String args[]){ Dog dog = new Dog(); System.out.println(dog.m); } }视频讲解
题目涉及到的知识点:
题目 :给出【代码1】【代码2】
【代码3】的结果
E2.java class A { int m; int getM() { return m; } int seeM() { return m; } } class B extends A { int m ; int getM() { return m+100; } } public class E2 { public static void main(String args[]) { B b = new B(); b.m = 20; System.out.println(b.getM()); //【代码1】答案:120 A a = b; // 上转型对象访问的是被隐藏的m : a.m = -100; 上转型对象调用的一定是子类重写的getM()方法: System.out.println(a.getM()); //【代码2】答案:120 子类继承的seeM()方法操作的m是被子类隐藏的m: System.out.println(b.seeM()); //【代码3】答案:-100 }}
视频讲解
Java面向对象教学大纲
java2实用教程第5版配套练习题库(version T2,发布2)