Java基础知识—类的深层结构

在Java中,可以在同一个类中定义两个或多个共享相同名称的方法,只要它们的参数声明不同就可以。当出现这种情况时,这些方法就被称为重载(overloaded),并且这一过程被称为方法重载(method overloading).方法重载也是Java支持多态性的方式之一。

当调用重载方法时,Java所使用参数的类型和/或数量决定了实际调用是哪个版本的方法。因此,重载方法在参数的类型和/或数量方法必须有所区别。虽然重载方法可以返回不同的类型,但是单靠返回类型不足以区分方法的多个版本。当Java遇到对重载方法的调用时,简单地执行方法形参与调用中所使用的实参相匹配的版本。

下面是一个演示方法重载的简单例子:

如果你想学习Java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面有大量的学习资料可以下载。

可以看出,test()方法重载了4次。第1个版本没有采用参数,第2个版本采用一个整型参数,第3个版本采用两个整型参数,第4个版本采用一个double参数。虽然第4个版本的test()方法还返回一个值,但是这与重载没有什么因果关系,因为返回类型在重载版本的判断中不起作用。

重载构造函数:

参数传入的深入分析:

请记住:

当将对象引用传递给方法时,引用本身是使用值调用传递的。但是,由于传递的值引用一个对象,因此值的副本仍然引用相应实参指向的同一个对象。如果你想学习Java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面有大量的学习资料可以下载。

返回对象:

方法可以返回任意类型的数据,包括自己创建的类类型。例如下面的程序中,方法incrByTen()返回一个对象,在该对象中,a的值比调用对象中的a的值大10.

递归:

访问控制:

正如前天几天知识所说的,封装将操作数据的代码和数据链接起来。但是,封装提供了另外一个重要的特性:访问控制。通过封装,可以控制程序的哪些部分可以访问类的成员。通过控制访问,可以防止误用。例如,仅仅通过定义一套良好的数据访问方法,就可以防止对数据的误用。因此,如果类的实现正确的话,类就创建了一个可以使用的“黑匣子”,但是其内部工作不允许修改。

类中的 static

类中的 final

嵌套类 与 内部类:

如果你想学习Java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面有大量的学习资料可以下载。

时间: 2024-09-21 01:31:42

Java基础知识—类的深层结构的相关文章

J2ME中需要的Java基础知识

现在有大部分人,都是从零开始学J2ME的,学习J2ME的时候,总是从Java基础开始学习,而且现在讲Java基础的书籍中都是以J2SE来讲基础,这就给学习造成了一些不必要的麻烦,下面将J2ME中用到的和不需要的Java基础知识做一个简单的说明:        J2ME中使用到的Java基础知识: 1.  Java语法基础:包括基本数据类型.关键字.运算符等等 2.  面向对象的思想:类和对象的概念,继承和多态等等. 3.  异常处理 4.  多线程 J2ME中没有用到的Java基础知识: 1. 

《Java和Android开发实战详解》——1.2节Java基础知识

1.2 Java基础知识 Java和Android开发实战详解 Java语言类似于C++是一种编译型语言,不过两者并不完全相同,严格说来,Java是结合编译和解释优点的一种编程语言. 1.2.1 Java平台 "平台"(Platform)是一种结合硬件和软件的执行环境.Java既是一种高级的面向对象的编程语言,也是一个平台.Java平台是一种纯软件平台,它可以在各种基于硬件的平台上运行,与硬件无关,主要是由JVM和Java API两个部分组成. 1.JVM虚拟机 JVM(Java Vi

javaeye基础-java基础知识问题求助

问题描述 java基础知识问题求助 问 形如 X(父类) y=new Y(子类): 这样new出来的对象y是子类对象还是父类对象? 如果子类有重载的构造函数,那么在new的时候父类的默认构造函数还会被子类的构造函数调用么? 解决方案 你可以去了解下向上转型和向下转型的区别! 解决方案二: java的一些基础知识 .Java基础知识一Java_计算机基础知识 解决方案三: new 出来的当然是子类对象,但是是父类引用,即父类引用指向之类对象. 子类有重载的构造函数?构造函数是不能重载的 解决方案四

《Android游戏开发详解》一第2章 Java基础知识

第2章 Java基础知识 Android游戏开发详解第1章内容完全是成为Java程序员的准备工作.在本章中,你将编写自己的第一个Java程序(包括一款简单的游戏),并学习如何把游戏的角色.加血(power-up)以及其他实体表示为Java对象.

《Android游戏开发详解》一第1部分 Java基础知识

第1部分 Java基础知识 Android游戏开发详解本文仅用于学习和交流目的,不代表异步社区观点.非商业转载请注明作译者.出处,并保留本文的原始链接.

Java基础知识二十九

Java 基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 方法:方法就是行为,一个类可以有很多方法.逻辑运算.数据修改以及所有动作都是在方法中完成的. 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定. 如果你想学

Java基础知识之Enum全接触

Enum是在Java中用来定义枚举类型的关键字.Enum一般用来表示一组相同类型的常量,如性别.日期 .颜色等. 下面是一个最简单的枚举. 1 2 3 4 5 6 7 8 9 10 public enum Color { RED, GREEN, BLUE } 实际上在Java中枚举类型本质上就是一个类,其继承自java.lang.Enum类. 通过默认提供的GetValues()方法可以获取所有枚举对象,其以一个数组的形式返回. 1 2 3 4 5 6 for(Color color : Col

java基础关于类的问题

问题描述 我现在刚刚学java,关于类的问题看了很多书还不是很明白,能不能请哪位高手告诉我一下,最好附加一个程序,给我分析一下这个程序的编写过程,谢谢了!!!!! 解决方案 解决方案二:类的那些问题不明白??解决方案三:问具体的问题嘛!解决方案四:程序呢??解决方案五:publicclassPerson{//人类Stringname;//属性(人类的名字)intage;//属性(人类的年龄)//构造方法publicPerson(Stringname,intage){//想创造一个人类(对象)的话

Java基础知识回顾,看看你们忘了多少

1.Java中成员变量又分为实例成员变量 和类成员变量. 2.写类的目的是为了描述一类事物共有的属性 和功能.3.成员变量和局部变量的类型可以是Java中的任何一种数据类型 .4.用修饰符 static 说明的成员变量是类变量.5.变量的名字与成员变量的名字相同,则成员变量被隐藏 ,该成员变量在这个方法内暂时失效.6.用修饰符static说明的成员变量是类变量 .7.如果局部变量的名字与成员变量的名字相同,成员变量 将被隐藏.8.方法定义包括两部分:方法声明 和方法体.9.在Java中,当一个方