`

张孝祥J2SE加强自学笔记(2-16)

    博客分类:
  • J2SE
阅读更多
2、IDE开发工具介绍(明白下面的单词缩写):
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");}
	}
}
注意:(1)枚举的构造方法必须定义在所有定义的常量的后面
      (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加强自学笔记(48-56)

    【张孝祥J2SE加强自学笔记(48-56)】主要涵盖了类加载器、代理类和动态类创建等Java核心知识点。 48、类加载器的问题实验分析: 在Java中,类加载器是负责查找并加载类的机制。在Web应用中,有多种类加载器,如...

    JAVA\张孝祥IT课堂-Java03-面向对象(上).ppt

    3. 多态(Polymorphism):多态是指同一个接口可以有不同的实现方式,即子类可以重写父类的方法,使得相同的操作可以作用于不同的对象,增强了代码的灵活性。Java中的方法重写(Override)和接口实现是多态的重要...

    《张孝祥JAVA视频教程》完整版[RMVB]

    ed2k://|file|[张孝祥JAVA视频教程高级部分完整版].07A-1.rmvb|153191048|E9211E597FF5CF585AC0E9091D7214C9|h=ZLEQYN7GV36EID3VCXRKW2Q6GDWOO63L|/ ………………省略部分……………… 该文档涵盖了张孝祥的所有java...

    张孝祥教授Javascript网页开发教程-02.pdf

    详细解释了html语言、css、javascript语法、dom对象编程、正则表达式,介绍了网页脚本编程的其他技术和知识。(由于上传限制,故将本教程分为6个部分上传,请全部下载后解压)

    张孝祥_高级j2se代码

    【张孝祥_高级j2se代码】这个资源包含了张孝祥老师精心编写的J2SE(Java 2 Standard Edition)高级代码示例,旨在帮助开发者深入理解和掌握Java核心技术。J2SE是Java平台的核心部分,它提供了丰富的类库和API,支持...

    张孝祥JAVA学习笔记

    张孝祥课程学习笔记,包括JAVA基础,JAVA高级,JavaScript全部的笔记,适合初学者。

    张孝祥教授Javascript网页开发教程-01.pdf

    详细解释了html语言、css、javascript语法、dom对象编程、正则表达式,介绍了网页脚本不编程的其他技术和知识。(由于上传限制,故将本教程分为6个部分上传,请全部下载后解压)

    张孝祥教授Javascript网页开发教程-05.pdf

    详细解释了html语言、css、javascript语法、dom对象编程、正则表达式,介绍了网页脚本编程的其他技术和知识。(由于上传限制,故将本教程分为6个部分上传,请全部下载后解压)

    张孝祥Java邮件开发详解-高清扫描版-part1

    张孝祥Java邮件开发详解-高清扫描版-part1 绝对是精品 张孝祥的好书 。很大,分为2部分。

    j2se基础加强_张孝祥ppt

    j2se基础加强_张孝祥版ppt,对于java的基础提升是很有帮助的。

    张孝祥Java邮件开发详解-高清扫描版-part2

    张孝祥Java邮件开发详解-高清扫描版-part2

    传智播客张孝祥java高新技术 笔记ppt

    【Java高新技术笔记】这篇PPT主要涵盖了传智播客张孝祥教授的Java基础增强课程内容,其中重点讲解了Eclipse开发工具的快捷键使用,单元测试,静态导入,以及可变参数等Java编程中的重要知识点。 首先,Eclipse作为...

    张孝祥java基础加强视频教程笔记

    【Java基础加强】张孝祥的Java教学视频涵盖了Java编程语言的基础到进阶知识,旨在帮助学习者巩固和提升Java编程技能。以下是根据教程笔记整理的一些关键知识点: 1. **Java简介**:Java是一种跨平台的面向对象的...

    张孝祥邮件开发ppt

    传智播客-------张孝祥老师--------------- javaMail开发PPT

    javascript网页开发-张孝祥_lesson2

    在“javascript网页开发-张孝祥_lesson2”这个课程中,我们将深入探讨JavaScript的基础和进阶概念,为构建现代网页应用打下坚实基础。 1. **变量与数据类型** JavaScript是一种弱类型的语言,允许在运行时动态声明...

    张孝祥笔记

    jAVA基础+高新+7K知识点总结.chm 需要的可以下载

    Java基础加强--张孝祥版.ppt

    Java基础加强--张孝祥版 传智播客

    张孝祥Java多线程与并发库高级应用笔记

    ### 张孝祥Java多线程与并发库高级应用笔记概览 #### 一、Java多线程技术的重要性与挑战 Java线程技术是软件工程领域不可或缺的一部分,尤其在底层编程、Android应用开发以及游戏开发中,其重要性不言而喻。然而,...

    张孝祥老师讲课笔记

    ### 张孝祥老师讲课笔记:深入理解Windows程序运行机制 #### Windows程序设计与传统DOS方式的区别 张孝祥老师的讲课笔记强调了Windows程序设计与传统的DOS方式有着本质的不同,尤其体现在程序运行机制上。Windows...

    张孝祥交通灯管理系统笔记

    张孝祥交通灯管理系统笔记 面试题视频教程笔记

Global site tag (gtag.js) - Google Analytics