关于继承,我想大多数人都知道,它是面向对象语言中的三大特性之一,所以在这里,关于继承的概念等我就不做详细介绍了,我主要就讲一下大家对他的认识中一些比较容易犯的错误吧。
错误认识1、继承,是将父类中所有的属性和方法都继承下来。
其实这个认识是错误的,继承,并不是将父类中所有的属性和方法都继承下来,而是只继承父类中公有的属性和方法,对于私有的(即是private)属性,我们可以通过对应的getter和setter方法来对其进行修改。对于私有的方法,我们可以通过其它公共的方法来对其进行调用。
下面是一个例子,大家可以运行来学习验证一下。
Person.java
package com.extendsStudy.model;
public class Person {
private String private_name; //私有的属性
public int public_age; //公共属性
/**
* 私有属性private_name的getter方法
* @return 当前类中private_name的值
*/
public String getPrivate_name() {
System.out.println("调用了父类的getPrivate_name方法: " + this.private_name);
return private_name;
}
/**
* 私有属性private_name的setter方法
* @param private_name 记录中将要赋值给类中private_那么属性的变量
*/
public void setPrivate_name(String private_name) {
this.private_name = private_name;
}
}
Boy.java
package com.extendsStudy.model;
/**
* 继承了Person类的子类Boy
*/
public class Boy extends Person{}
ExtendsTest.java
package com.extendsStudy.test;
import com.extendsStudy.model.Boy;
public class ExtendsTest {
public static void main(String[] args) {
Boy boy = new Boy(); //创建一个boy对象
boy.public_age = 11; //变量必须先声明再赋值最后才能使用,因为在model类中没有赋值,所以在这里要记得赋值
System.out.println(boy.public_age); //输出public_age属性的值
boy.setPrivate_name("haha"); //调用private_name属性的setter方法对父类中的private_name属性进行复制
System.out.println(boy.getPrivate_name()); //调用private_name属性的getter方法获取父类中的private_name属性的值
}
}
分享到:
相关推荐
总结一下,JAVA中的一些常见错误代码通常与以下几点有关: 1. 接口与类之间的冲突:当一个类同时实现多个接口,且这些接口包含同名变量时,需要明确指定使用哪个接口的变量。 2. `final`变量的使用:`final`变量一旦...
根据描述中的“特点”,我们总结出Java的一些显著特性: - **简单**:Java的设计理念之一就是尽可能简化编程模型,使得开发者能够快速上手。 - **跨平台**:Java最著名的特性之一就是“一次编写,到处运行”(Write ...
这个“简单JAVA例程(绝对新手实例)”的压缩包文件提供了入门级别的Java代码示例,帮助新手逐步认识和了解Java编程。 首先,让我们来探讨Java的基础知识: 1. **Java语法基础**:Java的语法结构与C++类似,但更加...
在Java中,子类继承自父类时,如果父类可序列化,那么子类默认也是可序列化的。然而,这可能会引发一些意料之外的问题,尤其是当父类中有敏感信息或者不希望被序列化的字段时。此时,`transient`关键字的作用就显得...
Java的语法结构清晰,去除了C/C++中的一些复杂特性,比如指针和多重继承,使得初学者能够更快地掌握这门语言。 #### 三、Java与C/C++的主要区别 **1. 指针** Java不支持指针,因此无法直接操作内存地址。这一点是...
9. **面向对象认识**:面向对象编程(OOP)是Java的核心特性,它基于类和对象,强调封装、继承和多态三大原则。 10. **对象的封装性**:封装是OOP的基本概念,它隐藏了对象内部的实现细节,仅通过公共接口暴露必要...
Java的健壮性体现在自动内存管理,避免了内存泄漏等问题,同时限制了一些可能导致程序崩溃的语言特性,如全局变量和指针。 与C和C++相比,Java简化了许多概念,如没有全局变量、预处理指令(如#include和#define)...
【Java实验报告——用户登录系统】的实验主要围绕Java异常处理机制展开,旨在让学生深入理解和掌握Java中的异常处理。在用户登录系统这个实际场景中,实验者需要运用异常处理来确保程序的健壮性。 首先,实验的核心...
除此之外,书中可能还会涉及一些其他主题,比如Maven或Gradle构建工具的使用,理解JVM工作原理,熟悉IDEA或Eclipse等开发环境的配置,以及版本控制工具如Git的运用。这些辅助工具和技术可以帮助开发者更高效地进行...
#### 1-2 认识Java语言 **1.2.1 Java语言的特性** Java是一种功能强大且用途广泛的编程语言,其核心特性包括: 1. **简单高效**:Java语言的设计理念之一就是简单易学,同时又具备高效的执行能力。它去除了许多...
Java是一种广泛使用的高级编程语言,由Sun Microsystems(后被甲骨文公司收购)于1995年发布。它的设计目标是实现“一次编写...观看这样的视频教程是学习Java的优秀起点,能快速建立起对Java语言的整体认识和实践能力。
Java编程语言在计算机软件开发领域具有重要的地位和广泛的应用,其特点和优势对于...软件开发设计人员应充分认识到Java语言的重要作用,并在工作中积极推广和应用Java技术,以提升软件开发的整体水平和软件产品的质量。
本文档“初识Java_第18页_下载资料.pdf”可能涵盖了以上部分或全部内容,帮助初学者建立起对Java语言的基础认识,进一步深入学习Java的高级特性,如异常处理、多线程、网络编程、反射机制、注解、模块化系统等。...
异常处理是Java编程中的一个重要环节,它允许程序员优雅地处理程序运行时可能出现的错误。try-catch-finally结构用于捕获和处理异常,保证了程序的健壮性。 在实际编程中,集合框架是必不可少的知识。Java提供了...
5. Java异常处理:文档提到了使用try-catch语句处理异常,这是Java中处理错误的标准方式。 6. Java接口与抽象类:文档中提到了抽象类的概念(abstract),这表明学生需要了解面向对象程序设计中抽象类和接口的作用...
书中首先会介绍Java的历史和特点,让读者对这门语言有一个宏观的认识。接着,会深入到Java的基础语法,包括变量、数据类型、运算符、流程控制语句(如if、switch、for、while等)以及方法的定义与调用。这部分内容...
通过这个详尽的课件学习,你将对Java有全面的认识,掌握核心概念,并能够运用所学知识进行实际项目开发,逐步成为Java编程的专家。同时,实践是检验理论的最好方式,边学习边动手操作,将理论知识转化为实际技能,将...
9. **JAVA标准库**:书中可能会涵盖一些常用的JAVA标准库,如JDBC用于数据库连接,或者网络编程相关的类库。 10. **项目实战**:教程中的例子和代码可能包括实际的项目案例,如简单的计算器程序、学生管理系统或者...
本章内容主要涵盖了对Java桌面程序的认识,包括Eclipse IDE的使用,GUI开发包Swing的介绍,以及如何在IDE中开发和运行Java桌面程序。 1. **Eclipse IDE的使用**: Eclipse是一款强大的开源集成开发环境,支持多种...