Java与.Net的不同处

1.Net中是用属性

public int AppCode { get; set; }

public string AppName { get; set; }

Java中是用方法来实现的对字段的保护

2.Java中的编码标准规范

方法名:

首单词字母小写,往后单词字母都是大写。

类名:

类中public class的类名需要与该类文件名一致

3.单例模式

clip_image001

不管外部声明了多少个Singleton的对象,但是最终结果都是通过getIntance()方法取得的实例化的对象,也就是说,此时s1,s2,s3实际上都使用了一个对象的引用:instance

4.

clip_image002

5.使用继承的注意点

clip_image003

clip_image004

6.接口定义

clip_image005

7.多态中的向上转型和向上转型

clip_image006

注意:在向下转型时如果是以下这种写法,是会报对象转型异常

clip_image007

因为:父类对象不知道他是否有子类或是有几个子类。

clip_image008

如:下面的代码是正确的向下转型

clip_image009

7.多态性:

clip_image010

clip_image011

8.在开发中一定要记住以下一点:

一个类永远不要去继承一个已经实现好的类,而只能是继承抽象类或实现接口,如果接口和抽象类同时都可以使用的话,那么优先使用接口,避免单继承局限。

抽象类表示一个模板,接口制定的是一个标准。

抽象类和接口的实例化,通过多态性实现的。即,

抽象类的多态性是通过子类为抽象类实例化对象后向上转型操作进行的;

接口的多态性是通过实现类为接口实例化对象后向上转型成接口类型进行操作的。

9.为抽象类与接口实例化

在java中可以通过对象的多态性,为抽象类和接口实例化,这样再使用抽象类和接口的时候就可以调用本子类中所覆写过的方法了。之所以抽象类和接口不能直接实例化,是因为其内部包含了各个抽象方法,抽象方法本身都是未实现的方法,所以无法调用。

9.1为抽象类实例化:

clip_image012

9.2为接口实例化:

如果深入学习的话,接口实际上还表示将方法的视图暴露给远程的客户端。

clip_image013

9.3 工厂设计模式

工厂设计模式,是在java开发中最常使用的一种设计模式

clip_image014

clip_image015

分析:主方法:应该就表示一个客户端,主方法的代码越少越好。

9.4 适配器模式

此种设计模式在java的图形界面编程上使用的非常的多。但是在java EE的开发中并不是很常见。

对于java程序员来说,如果一个类要实现一个接口,则肯定要覆写此接口中的全部抽象方法,那么如果,此时一个接口中定义的抽象方法过多,但是在子类中又用不到这么多抽象方法的话,则肯定很麻烦,所以此时就需要一个中间的过度,但是此时过度类又不希望被直接使用,(所以此过渡类定义成抽象类最合适,即一个接口首先被一个抽象类(此抽象类通常被称为适配器类)实现(方法体为空),则以后的子类直接继承此抽象类,就可以有选择的覆写所需要的方法。

clip_image016

9.5 内部类的扩展

实际上在一个抽象类中也可以定义一个接口

clip_image017

上面程序输出:HELLO --> B

反之,在一个接口中也可以定义一个抽象类

clip_image018

上面程序输出:HELLO --> B

但是,从实际的个人开发角度讲,此种设计并不是很常见,因为代码的结构有些混乱了。

总结:接口和抽象类的 之间的关系:

clip_image019

10 java的设计思想是一切皆是对象,八中基本数据类型不是对象。

包装类:把基本的数据类型包装成一个类,这样就可以

以对象的形式操作基本数据类型

基本数据类型有8种:int \ char \ short \long \float \ double \ booleam \ byte

对应的包装类就有8种:Integer \Character \Short \Long \Float \Double \Booleam \ Byte

11.异常处理:

clip_image020

clip_image021

12.Static关键字修饰的成员就是类成员(在C#中称为静态成员),Static修饰的 类成员属于整个类,不是属于单个实例的。

clip_image022

13.java中的集合

Java中的集合大致上可以分为:Set、List 和Map三种体系,其中Set代表无序、不可重复的集合;List代表有序、重复的集合;而Map则代表具有映射关系的集合。

clip_image023

clip_image024

对于Set 、 List 、 Map 三种集合,最常用的实现类分别是HashSet\ArrayList\HashMap三个实现类。

14.包的导入

clip_image025

15.访问权限

clip_image026

clip_image027

16.Java中的命名规范

clip_image028

17.Java中的多线程

分为两种:1.继承Thread类 2.实现Runable接口

clip_image029

clip_image030

资源共享:

clip_image031

从运行效果来看,虽然共启动了3个线程,但3个线程一共卖了那5张票,所以达到了资源共享的目的。

clip_image032

clip_image033

18.Runtime类

clip_image034

clip_image035

clip_image036

posted @ 2013-12-22 23:44  weifb  阅读(284)  评论(0)    收藏  举报