`
- 浏览:
926056 次
-
1:首先是import的使用import可以导入一个类,或者某个包的所有类,相信这个我们之前都用的很多了。import static 这个可以导入某个类中的静态方法,或者所有的静态方法。(是不是曾经有导入了一个类,却无法使用这个类中的静态方法的尴尬事情呢,呵呵)举个栗子:import static java.lang.Math.*;class Struct{public static void main(String[] args){System.out.println(min(3, 9));}}min(3, 9)这个是我们Math里的一个静态方法,不用static导入,无法使用这个方法哦,不妨试一下2:一个方法接受参数不固定(看到这个我觉得很不可思议,呵呵),深入一下吧。方法定义:public static int add(int x,int ...args) //定义一个参数不固定,但都是int型的add函数(我们之前的重载虽然能定义一个函数不一样的参数个数,但也是必须制定有哪几种的吧)这个我们的编译器做了哪些处理呢?它为我们的方法的参数创建了一个数组,然后将我们调用时候放的参数都存到数组中,很不错的方法哦。(不过我觉得这个方法虽然方便,却存在一定的空间浪费(每次都需要定义数组),且效率相对要低一点(每次都要将数据往数组里存,如果调用次数很多,肯定会影响程序的性能),所以最好不要太常用哦)tips:注意使用方法(args放在参数的最后,“...”放在int(类型) 和args(变量名)之间)。看一个栗子吧import static java.lang.Math.*;class Struct{public static int add(int x,int ...args) {int sum = x;for(int i=0;i<args.length;i++) {sum += args[i];}return sum;}public static void main(String[] args) {System.out.println(add(1,2,3,5));System.out.println(add(2,3,5));
}}程序不难,不多啰嗦了。3:增强for循环之前在博客中有提到过这种for循环,我们这里详细看一下吧for ( type 变量名:集合变量名 ) { … }这个我们不去深究编译器是怎么实现的了,就像记住for( ; ; )一样,能用的很顺畅就好啦a:迭代变量必须在( )中定义!b:集合变量可以是数组或实现了Iterable接口的集合类。举个栗子:(上一个栗子的add函数)public static int add(int x,int ...args) {int sum = x;for(int arg:args) {sum += arg;}return sum;}这里我们可以看下这个循环:for(int arg:args) {sum += arg;} 定义的时候,我们定义了int arg:args 可见:int arg是我们新定义的模板,通过上个栗子我们知道args其实是我们系统开辟的那个数组名,所以应该有一个比较清晰的了解了哦。那么,我们该如何使用这个数组里德元素呢??arg[i]酱紫吗?肯定不行了,我们看程序里 sum += arg;
显然我们之接用我们定义的这个模板,不可思议哦,呵呵,不过记住就好啦,编译器这斯做的事情常常太过复杂,我们也不用马上全部都去熟悉,慢慢来了。4:基本数据类型的装箱和拆箱这个看着有些犯晕,回去需要看下视频。5:枚举:枚举,看名字就知道是例举的意思啦,哈哈,它是用来将所有的变量可能的值都例举出来,我们定义变量的时候只能在这些个值里面选。例如workday:只可能是周一到周日。month:只可能是一月到12月。没听说过有十三月的,呵呵。所以我们很多地方都有使用这个枚举的必要的。应用:举个栗子先class Struct{public enum WeekDay{ MON,TUE,WED,THU,FIR,SAT,SUN }public static void main(String[] args){WeekDay[] day = WeekDay.values();for(WeekDay d : day) //现学现用哈,遍历打印所有的枚举值{System.out.println(d);
}}}a:枚举也相当于一个类,我们可以在里面定义构造函数,成员变量,普通函数,抽象函数。 构造方法的定义:1:构造方法必须是私有的(私有的?)2:如果有多个构造方法,我们应该使用哪个构造方法(这个相信大家都了解的哈,通过参数嘛)3:对于MON和MON()都是调用相同的构造函数再来个栗子:class Struct{public enum WeekDay{ MON(1) {//实现虚函数,以下的TUE...等等都一样的,打印下一天是星期几public void nextday(){System.out.println("next day is tuesday");
}},TUE(2) {public void nextday() {System.out.println("next day is Wednesday");
}},WED(3) {public void nextday() {System.out.println("next day is Thursday");
}},THU(4) {public void nextday() {System.out.println("next day is Friday");}},FIR(5) {public void nextday() {System.out.println("next day is Saturday");}},SAT(6) {public void nextday() {System.out.println("next day is Sunday");}},SUN(7) {public void nextday() {System.out.println("next day is monday"); }}; private WeekDay(int i) //构造函数,打印定义的是星期几,切记enum的构造函数必须为private的。{switch(i){case 1:System.out.println("it is monday");break;case 2:System.out.println("it is tuesday");break;
case 3:System.out.println("it is Wednesday");break;
case 4:System.out.println("it is Thursday");break;
case 5:System.out.println("it is Friday");break;
case 6:System.out.println("it is Saturday");break;
case 7:System.out.println("it is Sunday");break;
} }public abstract void nextday(); //定义enum的虚函数}public static void main(String[] args){WeekDay[] day = WeekDay.values();for(WeekDay d : day){System.out.println(d); //打印enum元素d.nextday(); //调用nextday()函数}}}这个可能像块插脚布,真的是又臭又长了,(其实就是实现了打印定义的是星期几,然后打出定义的元素,并且打印明天是星期几)呵呵,我把注释写上面了,这里就不啰嗦了,相信都能看明白哦。到这enum就比较全面了
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
java多线程编程 纯手写实现SpringIOC实现过程 JEE企业级开发(企业级项目开发权威指南) 网络爬虫之JAVA正则表达式 手写springMVC框架 老司机带你透析springMVC内部实现方式 打造高效代码结构(java性能优化) 新版本...
分享自己的CHM文档。JAVA基础+高新+7K项目,全部,基本知识点全在里面 ,希望能给大家帮助! Java基础总结
Java是一项面向对象编程语言,既包含了C语言的全部优点,又具有面向对象,跨平台性,安全性等特点,是现在程序设计中较为常用的编程语言。Java具备了“一次编译,处处运行”的特点,很好的体现了其跨平台性和面向...
本课题以国家8 6 3引导项目 , 暨新疆自治区高新计划项目 — 广汇美居物流园网上 商城系统为背景。旨 在利用先进的系统建模思想以及当前流行的We b编程技术,将迭 代式、以用户需求为驱动和以构架为中心的R U P统一...
Date: 2010-1-7 PM 08:33:27 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for user -- ---------------------------- CREATE TABLE `user` ( `username` varchar(75) NOT ...
高新瑞老师的课本计算机图形学的所有实验课程代码,课程设计代码均可运行。
"桂林高新杯"软件设计大赛 暨广西首届软件设计大赛 竞赛大纲 1. 初賽竞赛大纲 初赛题目均为基础知识以及开发语言基础选择题,初赛成绩总分为100分。编程语言 Java和C#由参赛选手任选一种。竞赛包含内容请参考以下...
计算机软件(JAVA)专业调研报告 计算机系软件教研室 温跃平 为了更好地为学校计算机软件编程(JAVA)专业的课程设置、教学和就业做准备, 今年暑假我对软件专业进行市场调研,在调研过程中侧重与软件编程和手机软件...
随着网络技术、面向对象技术(OOT)的成熟,...纯面向对象编程语言Java使分布计算更容易实现.首先阐述分布计算机系统的概念,并分析在分布计算中,Socket通信协议和RPC的不足,然后论述如何使用Java RMI实现分布计算.
GIS是数据库、图论、拓扑学、图像处理、人工智能、虚拟现实及计算机地形学等多门学科综合的高新技术,广泛应用于军事、政府办公、环保、生态、水利、水土保持、国土、测绘、林业、农业、城建与规划、交通、海洋、...
游戏产业推动高新技术不断升级,极大地促进了经济的增长,推动了“第四产业”的经济腾飞。坦克大战游戏是童年时期经常玩的经典游戏,我们对它都十分了解。游戏通过分析JAVA游戏开发和代码设计,用Eclipse软件开发了...