首页 > 文库大全 > 精品范文库 > 13号文库

java学习心得笔记

java学习心得笔记



第一篇:java学习心得笔记

j2ee学习笔记

注:框架可以用word菜单中的 “视图/文档结构图” 看到

j2ee模式

value object(值对象)用于把数据从某个对象/层传递到其他对象/层的任意java对象。

通常不包含任何业务方法。

也许设计有公共属性,或者提供可以获取属性值的get方法。

jsp

1.jsp的基础知识

__

_____ |directive(指令)

| |--scripting(脚本)

jsp-------| |__ action(动作)

|

|_____template data :除jsp语法外,jsp引擎不能解读的东西

1)在jsp中使用的directive(指令)主要有三个:

a)page指令

b)include指令

c)taglib指令

在jsp的任何地方,以任何顺序,一个页面可以包含任意数量的page指令

2)scripting(脚本)包括三种类型

a)<%!declaraction%>;

b)<%scriptlet %>;

c)<%= expression%>;

3)action(动作)

标准的动作类型有:

a);

b);

d);

e);

f);

g);

h);

1.注释: <%-----jsp comment-------%>;

数组名arr[0],第二个元素[1];c)二维数组的 长度 由”[ 几行 ]“确定!

d)定义方式2:类型[ ][ ] 变量名 = new 类型[ 几行 ][ ];//行数确定,列数不确定——每行可以随便 赋值。

e)定义方式3:类型[ ][ ] 变量名 = { { ,...,...,...},{ },{ },......} //这种行数、列数都不确定。大括号 内的每个 大括号 代表 一行 的元素,每行有多少个元素 取决于 内大括号 中元素的个数。

19、面向对象的特点:封装性、继承性、多态性。

20、在创建变量后,JVM运行程序时,会自动初始化变量。引用型变量 为 null。

21、垃圾对象——没有变量引用的对象。

22、类的封装:将类中的属性 私有化。外界访问私有属性时 只能通过该属性的 getxxx()方法。

a)//择Generate getter and setter--> 自动生成

set和get方法。

23、构造方法:实例化对象。

a)可以用 带参数的构造方法 在实例化对象时就 给私有属性 赋值。b)好的程序员 应该为每个类 写一个 无参构造方法。c)定义构造方法的条件:

i.方法名与类名相同。ii.没有返回值的 声明。

iii.方法中 不能有return 返回值。

24、this关键字

a)this指代 该类实例化的 对象。所以可以用 this.xx的方式调用 成员。b)在成员方法中使用this关键字,避免参数名与属性名相同。c)用this关键字调用 构造方法

i.只能在构造方法中 用this调用其他构造方法; ii.此时this语句必须位于第1行,并且只能出现一次 iii.不能在一个类的两个构造方法中互相调用。

25、static关键字

a)静态变量:

i.用static修饰的变量 ii.静态变量被所有实例共享

iii.可以使用“类名.变量名”的形式来访问。iv.只能修饰 成员变量 b)静态方法

i.希望在不创建对象的情况下也能条用 类中的 某个方法,那就用static关键字休息这个方法 ii.静态方法 只能访问 静态成员!

//因为非静态成员 必须先创建对象才能访问,而静态方法在被调用的时候可以 不创建对象——那么就没有非静态成员可供访用。

c)静态代码块

i.当类被加载时,静态代码会执行一次。而类只会被加载一次,所以静态代码块只会被执行一次。

ii.通常会用静态代码块对类的成员变量进行初始化。d)单例模式

i.private static 类名 INSTANCE = new 类名();量——自己创建一个对象。private 类名(){};

//私有的 构造方法,只能内部访问

}

//私有成员变public static 类名 getInstance(){ return INSTANCE;//定义静态方法,返回自己的实例对象。ii.第二种单例模式创建方法。

1.Private 类名(){} 调用。

2.public static fianl 类名 INSTANCE = new 类名();的不能被修改的 静态成员对象。

26、内部类——定义在类里面的 类

a)成员内部类

i.相当于成员方法,可以访问外部类的所有成员;

ii.因为成员内部类相当于 成员方法,所以想要创建内部类对象时,必须得用外部类的对象 去创建内部类对象:

1.外部类名.内部类名 变量名 = new 外部类名().new 内部类名();b)静态内部类

i.用static修饰的成员内部类,也相当于静态方法。只能访问外部类的静态成员。

ii.因为静态,所以在创建内部类对象时,可以不用先创建外部类对象:

1.外部类名.内部类名 变量名 = new 外部类名.内部类名();iii.静态内部类中 可以定义静态成员,非静态内部类则不可。c)方法内部类

i.在方法中定义的类,只能在当前方法中被使用。

27、当一个对象被当成垃圾从内存中释放时,它的 finalize()方法会被自动调用。

//公有

//私有的 构造方法,只能在类的内部被

28、继承

a)继承关键字:extends。b)格式:Class A extends B{} c)单继承——一个类只能有一个直接父类。

29、重写父类方法

a)条件:方法名、参数、返回值类型 3个都相同。

b)重写之后,子类调用被重写的方法时,就是调用自己写的方法。c)重写应用:

i.应用对象 是父类的 公有方法。重载 应用的对象是 类本身的 方法。ii.重写父类 不适合子类的 方法 iii.实现接口。

30、super关键字

a)调用父类成员变量和成员方法:

i.super.成员变量;ii.super.成员方法(参数1,参数2,...);b)调用父类的构造方法

i.super(参数1,参数2,...);ii.必须位于子类的构造方法的第一行,且只能出现一次。

iii.在实例化子类时,系统会在 子类的构造方法中 调用

父类的构造方法——如果子类的构造方法中 没有调用 父类的构造方法,系统会自动调用父类的无参构造方法。所以 每个类的 无参构造方法 一定不要漏了!子类也可以显示的调用 父类的有参或无参构造法方法。c)解决 重写了父类方法之后,不能调用父类方法的问题。

31、final关键字

a)final修饰的类 不能被继承 b)final修饰的方法 不能被子类重写

c)final修饰的变量 是常量,不能被修改,且必须在定义时 为变量赋值。

32、抽象类

a)关键字 abstract b)抽象方法:abstract void shout(){};——没有方法体。

c)包含抽象方法的类必须声明为 abstract类:abstract class Animal{} d)抽象类可以 不包含任何抽象方法,只需用abstract修饰。e)抽象方法不能直接实例化,只能让 子类实例化。

33、接口

a)定义关键字:interface——interface Animal{} b)接口中的方法 被默认修饰为:public abstract——抽象方法。c)接口中的变量 被默认修饰为 :public static final —— 全局常量

i.所以变量最好用

全大写

表示。

d)因为方法都是抽象的,所以必须定义一个类 来实现(implements)接口——Class A implements B{} e)接口之间可以继承——interface C extends B{} f)一个类可以实现多个接口,接口直接间用逗号隔开。g)一个类可以在继承一个类的同时,实现其它的接口。

h)如果一个类去实现接口的话,那么这个类必须实现接口中所有的方法。

34、多态

a)方法上的多态

i.类内部方法的重载 ii.子类对父类方法的重写 b)对象上的多态性

i.假设父类:A;子类B B b = new B();ii.对象的自动向上转型:A a = b;//子类对象,变成了父类对象。

1.虽然a指向A的对象,但是如果B重写了A的方法,那a调用的还是B中的方法。

iii.对象的强制向下转型

1.若 A a = new A();2.B b =(B)a;

//父类对象变成了 子类对象。3.这时对象b调用的是 子类的重写的方法。

4.注意:对象发生强制向下转型之前,必须保证已经发生了向上转型,否则会出异常。

35、异常

a)异常类分为:编译时异常、运行时异常 b)异常处理机制: i.try...catch...finally 1.try代码包含可能发生异常的Java语句,catch块中包含针对一场进行处理的代码。

2.当发生异常时,系统将异常信息封装成一个异常对象传递给catch代码块。所以catch需要定义1个对应的异常类 变量。3.finally代码块包含,无论发生什么异常都要执行的代码。常用于关闭系统资源。

ii.throws关键字声明抛出异常,调用者对其处理。这种方法能通过编译,但是发生异常后就会终止运行。

c)自定义异常

i.首先定义 一个继承Exception异常的 异常类;异常类中 编写一个无参构造方法(调用父类无参构造方法),再编写一个 带String参数的构造方法(也调用父类的带Stirng参数的构造方法)。ii.再定义一个 测试类,定义要调用的方法,并在此方法后面用 throws关键字 声明抛出自定义异常;再在 方法体 内判断什么时候 用throw new 自定义异常(“要打印的信息”)。//声明自定义异常对象。

iii.最后在 测试类的main 方法中,iv.try{...}

catch(...){ System.out.printlan(e.getMessage)}

finally{...}

36、线程的创建: a)继承Thread类,并重写run()方法。然后new Thread().start;开启线程。

b)实现Runnable接口,重写run()方法。然后new Thread(new myRunnable).start开启线程。

37、两种实现多线程的比较——实现Runnable接口的方法更好

a)可以让多个线程共享资源。——售票系统需要。b)避免单继承。38、36、

第五篇:java学习心得

Java学习心得

专业:信息与计算科学班级:

姓名:学号:

日期:

河北建筑工程学院数理系

java语言产生于C++语言之后,是完全的面向对象的编程语言,充分吸取了C++语言的优点,采用了程序员所熟悉的C和C++语言的许多语法,同时又去掉了C语言中指针、内存申请和释放等影响程序健壮性的部分,可以说java语言是站在C++语言这个“巨人的肩膀上”前进的。

java采用的是相对简单的面向对象技术,去掉了运算符重载、多继承的复杂概念,而采用了单一继承、类强制转换、多线程、引用(非指针)等方式。

在java程序中不能采用地址计算的方法通过指针访问内存单元,大大减少了错误发生的可能性;而且java的数组并非用指针实现,这样就可以在检查中避免数组越界的发生。

Java语言学习要点

一、掌握静态方法和属性

静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。

二、重视接口

在面向对象早期的应用中大量使用了类继承。随着软件工程理论的不断发展,人们开始意识到了继承的众多缺点,开始努力用聚合代替继承。软件工程解决扩展性的重要原则就是抽象描述,直接使用的工具就是接口。接口近年来逐渐成为Java编程方法的核心。另一方面,就应用而言,大部分开发是建立在规范基础之上的,不需要自己建立复杂的继承关系和庞大的类。因此读懂规范和用好规范已经成为应用程序开发人员的首要任务,Java各项规范的主要描述手段就是接口。

三、学好集合框架

Java描述复杂数据结构的主要方式是集合框架。Java没有指针,而是通过强大的集合框架描述数组、对象数组等复杂的数据结构。学好这些数据结构的描述方法对于应用程序编写,特别是涉及到服务器方、3层结构编程至关重要。程序员在这个时候不能再用诸如数据库结果集之类的结构描述数据了。

四、例外捕捉

Java对例外捕捉的强调是空前的,它强迫程序员用显著的与逻辑方法完全不同的方式描述例外捕捉,对于程序描述的完整性和严谨性有很大的意义。

总之学编程语言不仅仅是从理论上的学习,更重要的是要利用这门语言为你的思想服务。理解这门语言是首要的,但是要达到心领神会、融会贯通就必须勤动手,多去时间,多编一些例子。计算机科学是注重实践的学科,成功的软件开发人员无不经过大量的上机锻炼,只有理论和实践相结合才能真正掌握只是和技能。

展开阅读全文 ∨

相关内容

热门阅读

最新更新

随机推荐