160808、Java的不同版本:J2SE、J2EE、J2ME的区别
来源:微学苑
在Java中,同一个类中的多个方法可以有相同的名字,只要它们的参数列表不同就可以,这被称为方法重载(method overloading)。
参数列表又叫参数签名,包括参数的类型、参数的个数和参数的顺序,只要有一个不同就叫做参数列表不同。
重载是面向对象的一个基本特性。
下面看一个详细的实例
public class Demo{
// 一个普通的方法,不带参数
void test(){
System.out.println("No parameters");
}
// 重载上面的方法,并且带了一个整型参数
void test(int a){
System.out.println("a: " + a);
}
// 重载上面的方法,并且带了两个参数
void test(int a,int b){
System.out.println("a and b: " + a + " " + b);
}
// 重载上面的方法,并且带了一个双精度参数
double test(double a){
System.out.println("double a: " + a);
return a*a;
}
public static void main(String args[]){
Demo obj= new Demo();
obj.test();
obj.test(2);
obj.test(2,3);
obj.test(2.0);
}
}
运行结果:
No parameters
a: 2
a and b: 2 3
double a: 2.0
通过上面的实例,读者可以看出,重载就是在一个类中,有相同的函数名称,但形参不同的函数。重载的结果,可以让一个程序段尽量减少代码和方法的种类。
说明:
参数列表不同包括:个数不同、类型不同和顺序不同。
仅仅参数变量名称不同是不可以的。
跟成员方法一样,构造方法也可以重载。
声明为final的方法不能被重载。
声明为static的方法不能被重载,但是能够被再次声明。
小结
方法的重载的规则:
1.方法名称必须相同。
2.参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
3.方法的返回类型可以相同也可以不相同。
4.仅仅返回类型不同不足以成为方法的重载。
方法重载的实现:
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错,这叫做重载分辨。
160808、Java的不同版本:J2SE、J2EE、J2ME的区别的更多相关文章
- J2SE J2EE J2ME的区别
J2SE J2EE J2ME的区别 J2SE J2EE J2ME的区别多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不 ...
- 【java】J2EE、J2SE和J2ME的区别
本文向大家简单介绍一下J2EE.J2SE.J2ME概念及区别,J2EE,J2SE,J2ME是java针对不同的的使用来提供不同的服务,也就是提供不同类型的类库. Java2平台包括:标准版(J2SE) ...
- JDK、J2EE、J2SE、J2ME的区别
JDK.J2EE.J2SE.J2ME的区别 你对JDK.J2EE.J2SE.J2ME概念是否了解,这里和大家分享一下JDK.J2EE.J2SE.J2ME的概念以及他们的关系区别,相信本文介绍一定会让你 ...
- [转载]JDK、SDK、J2EE、J2SE、J2ME的区别
[转载]JDK.SDK.J2EE.J2SE.J2ME的区别 来源: https://www.cnblogs.com/liangyihui/p/5905875.html Java的名词真的是多啊 JDK ...
- Java2_J2EE、J2SE和J2ME的区别
解析J2EE.J2SE.J2ME.JDK的区别 本文向大家简单介绍一下JDK.J2EE.J2SE.J2ME概念及区别,J2EE,J2SE,J2ME是java针对不同的的使用来提供不同的服务 ...
- j2se j2ee j2me
多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用. Java2平台包括标准版(J2SE).企业 ...
- Java知多少(4)J2SE、J2EE、J2ME的区别
原文:Java知多少(4)J2SE.J2EE.J2ME的区别 1998年12月,SUN公司发布了Java 1.2,开始使用“Java 2” 这一名称,目前我们已经很少使用1.2之前的版本,所以通常所说 ...
- J2EE、J2SE、J2ME是什么意思?
本文介绍Java的三大块:J2EE.J2SE和J2ME.J2SE就是Java2的标准版,主要用于桌面应用软件的编程:J2ME主要应用于嵌入是系统开发,如手机和PDA的编程:J2EE是Java2的企业版 ...
- J2EE、J2SE、J2ME
http://developer.51cto.com/art/200906/130453.htm 本文介绍Java的三大块:J2EE.J2SE和J2ME.J2SE就是Java2的标准版,主要用于桌面应 ...
- Eclipse管理Java工程(j2se/j2ee/maven)
Eclipse管理J2SE/J2EE(Maven)项目 eclipse是一个集成开发工具,有编译,运行,打包部署等功能.eclipse可以新建多种项目,不同的项目有不同的IDE层次结构,方便用户管理资 ...
随机推荐
- Android Studio Note
1.中文乱码 很多同学都安装了Android Studio,但是发现中文是乱码,其实这个很好解决的.在IDE里点击File,选择Settings...快捷键是Ctrl+alt+s 在打开的窗口中,找到 ...
- php容易忽视的地方
一:bool in_array ( mixed $needle , array $haystack [, bool $strict ] ) 用的时候加最后一个参数,判断类型 <?php $a = ...
- POJ-1318(list.sort()输出不为字典序,map才是按字典序排列)
#include<iostream> #include<string> #include<list> #include<map> #include< ...
- Impala中多列转为一行
之前有一位朋友咨询我,Impala中怎样实现将多列转为一行,事实上Impala中自带函数能够实现,不用自己定义函数. 以下我開始演示: -bash-4.1$ impala-shell Starting ...
- DDR3内存详解,存储器结构+时序+初始化过程
DDR3内存详解,存储器结构+时序+初始化过程 标签: DDR3存储器博客 2017-06-17 16:10 1943人阅读 评论(1) 收藏 举报 分类: 硬件开发基础(2) 转自:http:/ ...
- QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
http://blog.csdn.net/zhuyingqingfen/article/details/6562246 如题,出现这个的原因是,如果你的窗口继承的是QMainwindow,需要设置 s ...
- html 基本标签 ---特殊格式
<address> </address> 地址 <blockquote> </blockquote> 缩进 <q> </q> 小 ...
- 恶习为什么难戒?因为你在HALT状态
幸福课 | 恶习为什么难戒?因为你在HALT状态 文 游识猷 饥饿(hungry).生气(angry).孤单(lonely).疲惫(tired)这4种状态,被称为HALT——这个词刚好是英 ...
- Linux多条指令之间;和&&
Linux 中经常使用到一个命令,如 make && make install,这里也可以使用 make ; make install,那么在 Linux 中执行命令 ; 和 & ...
- Cocos3.0 的android返回键功能实现
比如:Game.h Game.cpp 头文件Game.h中定义: void onKeyReleased(EventKeyboard::KeyCode keyCode,Event * pEvent) ...