看如下Java代码:
public class Main {
public static void main(String[] args) {
Person person = new Student();
System.out.println("Name: "+person.getName()); // --> Guess
person.setName("set outside");
System.out.println("After Name: "+person.getName()); // --> Guess
Student student = (Student)person;
System.out.println("After cast, Name: "+student.getName()); // --> Guess
}
}
class Person {
private String name = "Person name"; // --> (A)
public void setName(String name) {
this.name = name+"_ in superClass";
}
public String getName() {
return this.name;
}
}
class Student extends Person{
private String name = "Student name"; // --> (B)
public void setName(String name) {
this.name = name + "_ in subClass";
}
/*
public String getName() { --> (C)
return this.name;
}
*/
}
运行先猜下三个输出是什么? 接着做如下改动再猜结果: 把(A)处的private改为protected, 把(B)处一行注释掉, 把 (C)处的方法放开.
运行结果怎么? 为什么?
分享到:
相关推荐
10. **源文件规范**:一个源文件只能有一个public类,且文件名应与public类名一致。包名定义了类的组织结构,且包名应与文件存放的目录对应。 11. **标识符**:标识符用于命名变量、方法和类,以字母、下划线或美元...
8. **if语句**:一个if语句可以跟任意多个else if,但只能有一个else。 9. **程序错误**:分为编译错误和运行时错误。 这些知识点覆盖了Java的基础语法、异常处理、多线程、对象和类、布局管理器等方面,对于学习和...
在Java编程语言中,继承是面向对象编程的一个关键特性,它允许子类继承父类的属性和方法,从而实现代码的复用和扩展。在Java中,类的继承是单继承的,即一个子类只能有一个直接父类,但可以通过接口实现多继承的效果...
《CoreJava:Java核心技术源代码》是一本深入探讨Java编程技术的经典著作,其代码库"CoreJavaBook代码"是学习和理解Java核心技术的重要资源。这个开源项目提供了丰富的示例和练习,帮助开发者深入掌握Java的核心概念...
整体来看,《Java面试集锦: Core Java Essentials》是一本全面覆盖Java核心技术要点的面试辅导书籍。无论是对于即将参加面试的求职者,还是希望巩固Java基础知识的开发者,本书都提供了丰富的学习材料和面试问题,...
《Core Java 2》第二卷详细介绍了Java的许多高级特性,这些特性让Java不仅仅是一个简单的编程语言,而是一个完整的平台,能够构建复杂、健壮的应用程序。它提供的最新信息和高级技术包括但不限于: 1. 多线程编程:...
压缩包中的"corejava核心技術九版"可能是指《Java核心技术》的第九版,该书详细介绍了上述的Java核心概念和技术,覆盖了从基础到高级的主题,是学习和提升Java技能的优秀教材。通过阅读这本书,开发者能够深入理解...
- **继承**:一个类可以继承另一个类的属性和方法,实现代码复用。 - **多态**:同一种行为可以通过不同方式表现,例如方法重载和方法覆盖。 5. **异常处理**:Java使用try-catch-finally结构来捕获和处理异常,...
- 继承是一种使得一个类可以从另一个类获取属性和行为的方式。 - 关键字 `extends` 用于表示继承关系。 ##### 3. 多态 - 多态是指同一操作作用于不同的对象,可以有不同的解释,并产生不同的执行结果。 - 实现多态...
总的来说,《Core Java Volume I - Fundamentals 10th Edition》是一本全面覆盖Java基础的教程,无论是初学者还是经验丰富的开发者,都能从中受益。通过阅读这本书,你可以掌握Java编程的核心知识,为进一步深入学习...
书中的内容覆盖了Java语言的基础语法、面向对象编程、异常处理、多线程、集合框架、输入输出、网络编程等多个方面,是学习Java不可或缺的参考资料。 首先,关于Java基础,本书详细介绍了变量、数据类型、运算符、...
当我们创建一个新的类,该类直接或间接地继承自Thread类时,我们就可以覆盖它的run()方法,然后创建该类的实例并调用start()方法来启动线程。start()方法会调用run()方法,但不会阻塞当前线程,而是将其放入操作...
《Core Java (vol 1&2)》是Java编程领域中的经典教材,涵盖了从基础到高级的全方位知识。这两卷书对于深入理解Java语言及其应用至关重要。以下将详细阐述其中涉及的一些关键知识点。 **卷一:基础知识** 1. **Java...
继承允许一个类(子类)从另一个类(父类)继承属性和方法,实现代码复用。多态则是指同一种行为在不同对象上有不同的表现形式,增强了代码的灵活性和扩展性。 书中还会涉及异常处理,这是Java中处理错误和异常情况...
### CoreJava面试题知识点解析 #### 1. final, finally, finalize 的区别 - **final**: 是Java中的关键字,用于标记常量、方法或类,表明这些元素...- 类可以继承多个`Interface`,但只能继承一个`Abstract Class`。
2. **构造器在继承中的使用**:当一个类继承自另一个类时,如果子类没有显式地定义构造器,则会自动调用父类的无参构造器。如果需要调用父类的其他构造器,则可以在子类的构造器中使用`super`关键字。 #### 七、...