Java学习笔记(三)——静态导入,package-info,Fall-through
【前面的话】
算是真正的放松了好几天时间,没有看任何书,没有任何任务,今天是过完年后的第一天上班时间,我又开始了我的学习之路,感觉还没有老,怎么心态越来越平静了,进入工作状态,就好好努力工作,新的一年,我会不努力?哈哈。
这篇文章是自己在学习的过程中总会发现一些小的知识点,然后我就记录在这了,基础文章,选择阅读。
【知识汇总】
一、静态导入
- 代码
静态导入之前的代码:
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
静态导入之后的代码:
import static java.lang.System.out;//导入java.lang包下的System类,通过System类直接使用out对象。因为out是一个static PrintStream 对象,可以直接使用。 public class HelloWorld{
public static void main(String[] args){
out.println("Hello World!");//既是在这里不用再写成System.out.println("Hello World!")了,因为已经导入了out。
}
}
2.import xxxx 和 import static xxxx的区别:
import xxxx一般导入的是类文件如import java.util.Scanner;
import static xxxx一般是导入静态的对象引用、常量(记住,它们是static 或final)和static方法如:import static java.lang.System.out是对静态对象的引用,进行的静态导入。
3.使用静态导入的几条原则:
1).你必须说import static,不能说static import。
2).提防含糊不清的命名static成员。例如,如果你对Integer类和Long类执行了静态导入,引用MAX_VALUE将导致一个编译器错误,因为Integer和Long都有一个MAX_VALUE常量,并且Java不会知道你在引用哪个MAX_VALUE。
3).你可以在static对象引用、常量(记住,它们是static 或final)和static方法上进行静态导入。
========================我是2014年2月7日的分割线========================
二、学习package-info.java
- 参考资料
另类的package-info.java文件探讨http://strong-life-126-com.iteye.com/blog/806246
2.特点:
1) 它不能随便被创建,因为有一个“-”中横线,是不允许在命名规则中的,所以一般创建可以直接使用记事本创建然后刷新,或者拷贝一个别的项目已经使用过的。
2) 服务的对象很特殊,描述和记录本包信息
3) 类不能带有public、private访问权限。package-info.java中只能声明默认访问权限的类,也就是友好类。
4) 其实还有几个特殊的地方,比如不可以继承,没有接口,没有类间关系(关联、组合、聚合等等)等。
3.作用:
1) 为标注在包上Annotation提供便利;
2) 声明友好类和包常量;
3) 提供包的整体注释说明。
PS:这里只是简单的标记笔记,如果想要详细知道package-info.java。请阅读上面的参考资料。
========================我是2014年2月10日的分割线=======================
三、switch语句中的Fall-through
今天看到switch语句中可能发现Fall-through现象,一时不明白是什么意思,就学习了一下,下面代码中的第二个switch就发现了Fall-through现象。
代码:
public class FallTest {
public static void main(String[] args){
int i=2;
switch(i){
case 1:
System.out.println("woshishuaige1");
break;
case 2:
System.out.println("woshishuaige2");
break;
case 3:
System.out.println("woshishuaige3");
break;
default:
System.out.println("xiaosile");
}
switch(i){
case 1:
System.out.println("我是帅哥1");
case 2:
System.out.println("我是帅哥2");
case 3:
System.out.println("我是帅哥3");
default:
System.out.println("笑死了");
} }
}
输出结果:
woshishuaige2
我是帅哥2
我是帅哥3
笑死了
========================我是2014年2月10日的分割线=======================
【后面的话】
这篇文章先到这里,这样长度的文章自己比较喜欢,后面文章继续学习。
分享几句话:
- 任何人都是可以代替的
- 试着理解不一样的人
——TT
Java学习笔记(三)——静态导入,package-info,Fall-through的更多相关文章
- 【Java学习笔记】静态导入
package p2; //import static java.util.Collections.max; import java.util.ArrayList; import static jav ...
- Java学习笔记三十一:Java 包(package)
Java 包(package) 一:包的作用: 如果我们在使用eclipse等工具创建Java工程的时候,经常会创建包,那么,这个包是什么呢. 为了更好地组织类,Java 提供了包机制,用于区别类名的 ...
- Java学习笔记三.3
9.异常处理:Java中的异常处理对象就是将以前的if语句进行的判断进行抽象化,并形成的一套错误处理体系.最顶端是Throwable,接着是Error,Exception,其中Exception又明显 ...
- Java学习笔记(4)----Public,Protected,Package,Private修饰符可见性
Java修饰符类型(public,protected,private,friendly) public的类.类属变量及方法,包内及包外的任何类均可以访问:protected的类.类属变量及方法,包内的 ...
- Java学习笔记三十:Java小项目之租车系统
Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...
- Java学习笔记三.2
5.继承 //Java中所有对象都显式/隐式的继承子Object类 class fu{ fu(){ System.out.println("fu..."+getNum()); sh ...
- Java学习笔记三:Java的变量、常量、变量的类型及使用规则
Java的变量.常量.变量的类型及使用规则 每一种语言都有一些具有特殊用途的词,Java也不例外,它们被称为关键字.关键字对 Java 的编译器有着特殊的意义. 一:Java中的关键字: 注:Java ...
- Java学习笔记三
1.面向过程思想,强调的是过程(即动作,函数):面向对象思想,强调的是对象. 2.类与对象关系:类是对事物的描述(属性和行为-方法),对象是类的实例.对象通过new生成.属性也称成员变量;方法也称成员 ...
- Java学习笔记三——数据类型
前言 Java是强类型(strongly typed)语言,强类型包含两方面的含义: 所有的变量必须先声明后使用: 指定类型的变量只能接受预支匹配的值. 这意味着每一个变量和表达式都有一个在编译时就确 ...
- Java学习笔记三---unable to launch
环境配置好后,在eclipse下编写HelloWorld程序: ①创建新工程 ②创建.java文件,命名为HelloWorld ③在源文件中添加main方法,代码如下: public void mai ...
随机推荐
- 仅此一文让你明白ASP.NET MVC 之View的显示
有些人要问题,为什么我要学框架?这里我简单说一下,深入理解一个框架,给你带来最直接的好处: 使用框架时,遇到问题可以快速定位,并知道如何解决: 当框架中有些功能用着不爽时,你可以自由扩展,实现你想要的 ...
- HDU 5538 (水不水?)
House Building Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) ...
- POJ---3463 Sightseeing 记录最短路和次短路的条数
Sightseeing Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 9247 Accepted: 3242 Descr ...
- Leetcode 200. 岛屿的个数(扩展)
1.题目描述 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量.一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的.你可以假设网格的四个边均被水包围. 示例 ...
- 手脱ASProtect v1.2(无Stolen Code)
1.载入PEID ASProtect v1.2 2.载入OD > 01C04200 push 跑跑赛道.0042C001 ; //入口处 C3 retn AA stos byte ptr es: ...
- spring boot 在IDEA控制台中打印彩色日志
只需要在application.properties中加入 spring.output.ansi.enabled=ALWAYS 即可
- 仿微信中加载网页时带线行进度条的WebView的实现
finddreams:http://blog.csdn.net/finddreams/article/details/44172639 为了仿微信中加载网页时带进度条的WebView的实现,首先我们来 ...
- java加载驱动
加载驱动方法 1.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 2. DriverManager.r ...
- 2017 济南综合班 Day 6
循环移动 (cyclic.cpp/c/pas) (1s/256M) 问题描述 给出一个字符串S与N个操作.每个操作用三元组(L, R, K)进行描述:操作将字符串第L个到第R个位置构成的子串循环移动K ...
- idea出现:error:java: Target level '1.7' is incompatible with source level '1.8'.解决办法
当我们开始使用idea的时候,编译jsp程序我们有可能出现编译错误,然而我们的代码又没有什么问题. 解决方法一:我们开始的时候可以通过修改java compiler来解决这样的问题,点击file菜单- ...