黑马程序员-----张孝祥J2SE加强自学笔记(2-16)(转载)
来源:互联网 发布:图片合成编辑软件 编辑:程序博客网 时间:2024/06/10 00:13
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
J2SEJava面试Eclipse配置管理
java ee
ide:IDE为(Integrated Devolop Environment)集成开发环境之意.
jndi:Java Naming and Directory Interface Java名称和目录接口
jms:即Java消息服务(Java Message Service)
jmx:JMX--Java Management Extensions,即Java管理扩展,是一个为应用程序、设备、系统等植入管理功能的框架。
3、工程管理与快捷键的配置:
包名与类名起名字要专业,这对于面试来说相当重要
到哪个公司面试,写程序起包名的时候可以以这个公司的名字为准
General---keys--content assist:配置快捷键
4、视图管理与程序调试:
学会用debug调试程序,视图与透视图的关系:一个小的窗口就是一个视图,而透视图就是很多小窗口的集合
不同的透视图下面下面有有不同的视图,也就有不同的功能。
5、Eclipse的编译与运行环境:
(1)高版本的java能运行低版本的javac,而低版本的java不能运行高版本的javac,注意Bad version number in.class file 这个错误
是说java程序的编译和运行的版本不一样。
(2)Eclipse工作台中的所有工程继承工作台的配置,其中某个工程也可以覆盖工作台的配置,可以理解为java面向对象的思想。
6、Eclipse配置Java模板:
配置java模板的方法:window--preferences--java--Editor--Templates-->new输入name 在pattern中加入你的模板代码-->Insert Variable
配置选择值"line_selection"和光标位置"cursor"的位置
7、在Eclipse中导入已有的工程:
8、静态导入与编译器语法设置:
import 可以导入一个类或者一个包下的所有的类,而import static 可以导入某个类中的一个静态方法或所有的静态方法。
我们调用静态方法都是 类名.方法的方式进行调用,有了import static 就可以不用写类名(jdk1.5或更高的版本),而直接写方法名了,只是介绍有
这个一个知识点,但是并不常用因为没有多大的意义。
9、可变参数:(经典面试题:OverLoad与Override的区别)
问题:一个方法接收参数的个数不固定,例如:
System.out.println(add(2,5));
System.out.println(add(2,5,7));
可变参数的特点:
(1)只能出现在参数列表的最后
(2)...位于变量类型和变量名之间,前后有无空格都可以
(3)调用可变参数的方法是,编译器为该可变参数隐含创建一个数组,在方法体中以数组的方式访问可变参数
代码举例:
- public static void main(String[] args) {
- System.out.println(add(2, 3));
- System.out.println(add(2, 3, 5));
- }
- public static int add(int x, int ... args) {
- int sum = x;
- for(int i=0; i<args.length; i++) {
- sum += args[i];
- }
- return sum;
- }
10、java5的增强的for循环:
语法:for(VariableModifies(可选) type 变量名: 集合变量名) {....}
注意事项:(1)迭代变量必须在()中实现!
(2)集合变量可以是数组或者实现了Iterable接口的集合类
代码举例:
- public static int add(int x, int ... args) {
- int sum = x;
- /**
- *可以增加修饰符
- *for(final int arg : args)
- */
- for(int arg : args) {
- sum += arg;
- }
- return sum;
- }
11、基本数据类型的自动拆装箱及享元模式:
自动装箱:Integer num1 = 12;
自动拆箱:System.out.println(num1 + 12);
基本数据类型的对象缓存:
- Integer num1 = 12;
- Integer num2 = 12;
- System.out.println(num1 == num2); true
- Integer num3 = 129;
- Integer num4 = 129;
- System.out.println(num3 == num4); false
- Integer num5 = Integer.valueOf(12);
- Integer num6 = Integer.valueOf(12);
- System.out.println(num5 == num6); true
- Integer num7 = Integer.valueOf(129);
- Integer num8 = Integer.valueOf(129);
- System.out.println(num7 == num8); false
享元模式:有很多个小的对象,他们有很多相同的属性,把他们相同的属性抽取出来组成一个对象,把不同的属性
变成方法的参数,成为“外部状态”;
12、枚举的作用的介绍:
13、普通类模拟枚举的实现原理:
- public abstract class WeekDay {
- private WeekDay() {}
- public abstract WeekDay nextDay();
- //因为WeekDay是抽象的,所以不能直接new后面加一对大括号表示用它的子类来new对象
- //这是一个匿名类,然后实现了父类的抽象方法
- public static final WeekDay SUN = new WeekDay(){
- @Override
- public WeekDay nextDay() {
- return MOD;
- }
- };
- }
14、枚举的基本应用:
15、实现带有构造方法的枚举:
- public class EumTest {
- public static void main(String[] args) {
- WK wk = WK.FRI;
- }
- public enum WK {
- SUN(), MON(2), TUE, FRI;
- private WK() {System.out.println("first");}
- private WK(int i) {System.out.println("second");}
- }
- }
(2)构造方法必须是private的
(3)要访问有参数的构造方法,只要在定义的常量后面加小括号传入构造方法指定的参数类型即可
(4)如果要在定义完常量后定义方法,则定义的最后一个常量必须要加上分号
16、实现带有抽象方法的枚举:
- public enum TrafficLamp {
- RED(30){
- public TrafficLamp nextLamp() {
- return GREEN;
- }
- }
- ,
- GREEN(45){
- public TrafficLamp nextLamp() {
- return YELLOW;
- }
- }
- ,
- YELLOW(27){
- public TrafficLamp nextLamp() {
- return RED;
- }
- };
- private int time;
- private TrafficLamp(int time) {
- this.time = time;
- }
- public abstract TrafficLamp nextLamp();
- }
- 黑马程序员-----张孝祥J2SE加强自学笔记(2-16)(转载)
- 黑马程序员------张孝祥J2SE加强自学笔记(17-24)(转载)
- 黑马程序员------张孝祥J2SE加强自学笔记(25-40)(转载)
- 黑马程序员------张孝祥J2SE加强自学笔记(48-56)(转载)
- 张孝祥J2SE加强自学笔记(41-47)
- 黑马程序员:J2SE 学习笔记
- 黑马程序员:java加强笔记(上)
- 黑马程序员:java加强笔记(下)
- 黑马程序员--自学笔记--集合(其一)
- 黑马程序员--自学笔记--集合(其二)
- 黑马程序员----java基础加强(2)
- 黑马程序员--自学笔记--反射
- 黑马程序员--自学笔记--多线程
- 黑马程序员--自学笔记--异常
- 黑马程序员——张孝祥Java基础加强笔记
- 黑马程序员----基础加强2
- 黑马程序员-------基础加强2
- 黑马程序员-基础加强2
- C++ Mac OS program
- Openfire简介
- 敏捷零售:走入消费互联网时代
- Asp.net Web.config文件读取路径你真的清楚吗?
- MSSQL基础整理二
- 黑马程序员-----张孝祥J2SE加强自学笔记(2-16)(转载)
- POJ1028 Web Navigation
- innerHTML,outerHTML,innerText,outerText的区别和用法
- oracle表分区详解
- 天源迪科笔试20121115
- (一)要开发设即时通讯 首先定义功能
- open vswitch研究: ovsdb
- MVC模式 用户登录的代码
- 南阳理工学院 OJ 16 矩形嵌套