1. 性别枚举类型类:Gender.java /** * Filename: ExportDBScript.java * Author: qiujy * Createtime:Nov 22, 2008 * Copyrights 2008 qjyong All rights reserved. * EMail: qjyong@gmail.com */ package com.qiujy.common.myusertype; import java.io.Serializable; /** * 性别枚举类型 * * @author qiujy */ public enum Gender implements Serializable { Male("男", 0), Female("女", 1), Other("保密", 2); private String name; private int value; public String getName() { return name; } public int getValue() { return value; } private Gender(String name, int value) ...
抽象类往往用来表征我们在对问题领域进行分析、 设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象,我们不能把它们实例化(拿不出一个具体的东西)所以称之为抽象。 比如:我们要描述“水果”,它就是一个抽象,它有质量、体积等一些共性(水果有质量),但又缺乏特性(苹果、橘子都是水果,它们有自己的特性),我们拿不出唯一一种能代表水果的东西(因为苹果、橘子都不能代表水果),可用抽象类来描述它,所以抽象类是不能够实例化的。当我们用某个类来具体描述“苹果”时,这个类就可以继承描述“水果”的抽象类,我们都知道“苹果”是一种“水果”。...
这里的所有类都是在后面的会用到的,用于数据存储。 第一个: package collectiontest; public class Person implements Comparable { private String name; private long card; public Person(String name, int card) { this.name=name; this.card=card; } public Person() { // TODO Auto-generated constructor stub } public String getName() { return name; } public void setName(String name) { this.name = name; } public long getCard() { return card; } public void setCard(long card) { this.card = card; } @Override public int compareTo(Object o) { Person p=(Person)o; String s1=CnToSpell.getF...
Java数据类型中Date数据类型在处理一些日常应用问题常常被人们使用。然而在使用过程中许多人却没有真正的去了解有关于Java 数据类型中Date数据类型。通常在这使用某一种数据类型过程中并不一定就会有哦相应的数据类型,往往存在各种各样的数据类型不断的更替转换。 1.直接创建Date数据类型的实例变量date并直接将其输出: /** * 创建Date类型的变量 this is date :Sat Dec 06 00:26:54 CST 2008 * 程序运行过程中直接将当前的时间打印出来 */ Date date = new Date(); System.out.println("this is date :" + date); 2.将直接实例化的Date数据以String的方式进行输出: /** * 实例方法toString() Sat Dec 06 00:26:...
Java提供了的Arrays类里包含了一些static修饰方法可以直接操作数组,这个Arrays类里包含了提供了如下几个static修饰的方法(static修饰的方法可以直接通过类名调用): int binarySearch(type[] a, type key):这个方法查询key元素值在a数组中出现的索引;如果a数组不包含key元素值,则返回-1。调用该方法时要求数组中元素已经按升序排列,这样才能得到正确结果。 binarySearch(type[] a, int fromIndex, int toIndex, type key):这个方法与前一个方法类似,但它只搜索a数组中formIndex到toIndex索引的元素。调用该方法时要求数组中元素已经按升序排列,这样才能得到正确结果。 type[] copyOf(type[] original, int newLength):这个...
定义Marker Annotation,也就是Annotation名称即提供信息对于程序分析工具来说,主要是检查是否有MarkerAnnot的出现,并作出对应的动作 //用@interface来自定义一个annotation类型 //如下:用@interface来标识自定义一个annotation,而AnnotationTest为其名字 public @interface AnnotationTest { } annotation可以放在方法前面也可以放在类前面,以及属性前面,自定义的annotation与内建的annotation使用方法是一样的。@+名字 定义带属性的annotation public @interface AnnotationTest { String value(); //定义一个String类型的属性 } 使用这个自定义的annotation时要带上参数了:@+名字("任意String类型值") 定义annotat...
类的初始化顺序为: (静态变量、静态初始化块)—— 》 (变量、初始化块)—— 》 构造函数 测试代码: public class InitialOrderTest { // 静态变量 public static String staticField = "静态变量"; // 变量 public String field = "变量"; // 静态初始化块 static { System.out.println(staticField); System.out.println("静态初始化块"); } // 初始化块 { System.out.println(field); System.out.println("初始化块"); } // 构造器 public InitialOrderTest() { System.out.println("构造器"); } public static void main(String[] args) { new ...
Final类可以有protected属性或方法吗?这是一个典型的牛角尖,一个类被声明为final,说明该类不可被继承,如果类不能被继承,那么它可以有protected的属性和方法吗? 答案是可以的,那么,这时的protected到底是什么访问权限叫呢? 一个protected的属性或方法,它可以被同一包中的类访问,或是可以被子类所访问,但是现在它不能有子类,所以,这时protected其实就和默认的访问权限完全相同,变成了同一包中的类可以访问。 package net.moon.insignificant.finalclass; final class FinalClassSuper{ protected void sayHello(){ System.out.println("Hello, world"); } } public class FinalClassDemo{ public static void m...
在初始化一个类时,到底是先执行哪一部分,总体的执行顺序是什么样的呢,同样,当类被释放时,又是怎样一个顺序呢?先来看下面的代码好了。 package net.moon.insignificant.commonclass; class CommonSubClass extends CommonSupperClass { static { System.out.println("Common sub static initial"); } public CommonSubClass() { System.out.println("Common sub construct"); } @Override protected void finalize() throws Throwable { // TODO Auto-generated method stub System.out.println("Common sub finalize"); super.finalize(); } } abstract class CommonSupperClass {...
我们看一下如下的程序代码Test.java 以下是JAVA代码:【复制】
class Base { public Base newInstance() { return new Base(); } public Base newInstance2() { return new Base(); } } class Test extends Base { // 返回值不同 public Test newInstance() { return new Test(); } // 返回值相同 public Base newInstance2() { return new Test(); } } class Base { public Base newInstance() { return new Base(); } public Base newInstance2() { return new Base(); } } class Test extends Base { // 返回值不同 public Test newInstance() { return new Test(); } // 返回值相同 public Base newIns...
一、什么是嵌套类及内部类?可以在一个类的内部定义另一个类,这种类称为嵌套类(nested classes),它有两种类型:静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类(inner)。嵌套类从JDK1.1开始引入。其中inner类又可分为三种:其一、在一个类(外部类)中直接定义的内部类;其二、在一个方法(外部类的方法)中定义的内部类;其三、匿名内部类。下面,我将说明这几种嵌套类的使用及注意事项。二、静态嵌套类如下所示代码为定义一个静态嵌套类 以下是JAVA代码:【复制】
Code:public class StaticTest { private static String name = "javaJohn";private String id = "X001&q...
上一次在"使用Java开始面向对象的编程"这篇文章中,我们学习了一个编程语言要真正成为面向对象的,它应该支持信息隐藏/封装,多态,继承和动态绑定.另外,我们知道了Java完全支持这些功能,而且知道了因为Java是一种解释性的语言并运行在虚拟机的内部,所以由Java写成的任何程序都可以在任何支持 Java虚拟机(JVM)的操作系统上运行.我们还明白了对象是代表现实生活中事物的软件-编程模型以及对象是由它们的状态和行为定义的.最后,我们知道了Java中除了原始数据对象以外一切都是对象. 因为这种程序设计风格中的这许多内容都和对象以及类有关,我们将在下面进一步的考察它们. 对象详论 使用对象的一个关键是当你在浏览系统分...
字符(character)是指用单引号括起来的单个字符,如’、’等。这里的字符不是指占1个字节的ASCII字符,而是指占2个字节的Unicode字符。字符是组成Java程序的基本结构,每一个程序都由一系列的字符所组成。字符组成单词(word)用于对计算机下达指令。对于单个字符,除了有char这个原始类型以外,Java平台中的java.lang包还专门提供了一个Character类来进行储存和操作。字符常量字符常量是在两个单引号范围内所表示的字符,包括英文字母、数字、特殊字符及逸出顺序(escape sequence)。字符常数若要使用单引号(’)、斜线(\)及新行字符可用逸出顺序\’、\\及\ n。‘\007’表示八进制007相对应的字符,其他字符请...
Applet程序继承自java.applet.Applet类,嵌套HTML文档中,通常置于服务器端,下载到本地机后,通过浏览器在用户端执行。Applet类是一个特殊的图形类,在java.applet包中。可见,Applet类是Panel的一个子类,因此它具备Panel的特性。但与Panel不同的是,Applet类是一个可以运行的类,所以创建一个Applet的子类就可以运行一个Applet应用程序。下面语句创建了一个Applet的子类AppletDemo: 以下是JAVA代码:【复制】 这里要注意几个问题:1)定义的类必须是Applet的子类,而且必须是public类型的,类名与文件名一致;2)由于Applet是可以直接运行的,所以不需要main方法;3)由于Applet是Panel的子类,所以在Applet上可以放...
如何才能得到得到类的绝对路径呢?最近发现原来写的得到类的绝对路径的方法,在有些时候会出错,可能会得到类似:C:Documents%20and%20SettingscuilichenLocal%20SettingsTemp的路径。显然,这不是我们需要的路径。因此,需要找到另外的方法原始方法是: /** * 得到文件的绝对路径 * * @return String */ public String getPath() { String strClassName = getClass().getName(); String strClassFileName = strClassName.substring(strClassName .lastIndexOf(".") + 1, strClassName.length()); URL url = getClass().getResource(strClassFileName + ".class"); String strURL = u...
“接口是完全抽象的成员集合,它的成员都无法在接口定义时实现,我们可以将它看作是为操作定义合同,接口的实现完全留给开发者去做。它们之间的区别,如果认真分析,还是有不少的:在JAVA中,类只能是从一个基类继承,所以如果要使用抽象类为一组类提供多态性,这些类必须都是从那个类继承的;接口就不一样了,它不但可以用一个类或结构实现多个接口,一个接口还可以有多个实现。” 抽象类是一种不能实例化而必须从中继承的类。抽象类可以完全实现,但更常见的是部分实现或者根本不实现,从而封装继承类的通用功能,它可以提供已实现的成员,因此,可以用抽象类确保特定数量的相同功能,但不能用接口这样做。“也就是说,它们...