class Array{ // 表示数组 private int temp[] ; // 整型数组 private int foot ; // 定义添加位置 public Array(int len){ if(len>0){ this.temp = new int[len] ; }else{ this.temp = new int[1] ; // 最少维持空间是1个 } } public boolean add(int i){ // 增加元素 if(this.foot<this.temp.le…
interface A{ public void printInfo() ; // } class B implements A{ // 实现接口 public void printInfo(){ System.out.println("Hello World!!!") ; } }; class X { public void fun1(){ this.fun2(new B()) ; } public void fun2(A a){ a.printInfo() ; } }; publi…
public class WrapperDemo01{ public static void main(String args[]){ int x = 30 ; // 基本数据类型 Integer i = new Integer(x) ; // 装箱:将基本数据类型变为包装类 int temp = i.intValue() ;// 拆箱:将一个包装类变为基本数据类型 } }; public class WrapperDemo02{ public static void main(String a…
class Demo{ // 定义Demo类,实际上就是继承了Object类 }; public class ObjectDemo01{ public static void main(String args[]){ Demo d = new Demo() ; // 实例化Demo对象 System.out.println("不加toString()输出:"+d) ; System.out.println("加上toString()输出:"+d.toString()…
interface Pet{ // 定义宠物接口 public String getName() ; public String getColor() ; public int getAge() ; } class Cat implements Pet{ // 猫是宠物,实现接口 private String name ; // 宠物名字 private String color ; // 宠物颜色 private int age ; // 宠物年龄 public Cat(String name…
abstract class A{ // 定义抽象类A public abstract void print() ; // 定义抽象方法print() }; class B extends A { // 定义子类,继承抽象类 public void print(){ // 覆写抽象方法 System.out.println("Hello World!!!") ; } }; public class AbstractCaseDemo01{ public static void main(…
class A{ // 定义类A public void fun1(){ // 定义fun1()方法 System.out.println("A --> public void fun1(){}") ; } public void fun2(){ this.fun1() ; // 调用fun1()方法 } }; class B extends A{ public void fun1(){ // 此方法被子类覆写了 System.out.println("B -->…
class A{ // 定义类A public void fun1(){ // 定义fun1()方法 System.out.println("A --> public void fun1(){}") ; } public void fun2(){ this.fun1() ; // 调用fun1()方法 } }; class B extends A{ public void fun1(){ // 此方法被子类覆写了 System.out.println("B -->…
interface A{ // 定义接口A public static final String AUTHOR = "李兴华" ; // 全局常量 public abstract void print() ; // 抽象方法 public abstract String getInfo() ; // 抽象方法 } interface A{ // 定义接口A String AUTHOR = "李兴华" ; // 全局常量 void print() ; // 抽象方法…
final class A{ // 使用final定义类,不能有子类 }; class B extends A{ // 错误,不能被继承 }; class A{ public final void print(){ // 使用final声明的方法不能被覆写 System.out.println("HELLO") ; } }; class B extends A{ public void print(){ // 错误,不能被覆写 System.out.println("MLDN…
class Student implements Comparable<Student> { // 指定类型为Student private String name ; private int age ; private float score ; public Student(String name,int age,float score){ this.name = name ; this.age = age ; this.score = score ; } public String to…
面向切面编程(AOP)和面向对象编程(OOP)类似,也是一种编程模式.Spring AOP 是基于 AOP 编程模式的一个框架,它的使用有效减少了系统间的重复代码,达到了模块间的松耦合目的. AOP 的全称是“Aspect Oriented Programming”,即面向切面编程,它将业务逻辑的各个部分进行隔离,使开发人员在编写业务逻辑时可以专心于核心业务,从而提高了开发效率. AOP 采取横向抽取机制,取代了传统纵向继承体系的重复性代码,其应用主要体现在事务处理.日志管理.权限控制.异常处理…
class MyThread implements Runnable{ // 实现Runnable接口,作为线程的实现类 private String name ; // 表示线程的名称 public MyThread(String name){ this.name = name ; // 通过构造方法配置name属性 } public void run(){ // 覆写run()方法,作为线程 的操作主体 for(int i=0;i<10;i++){ System.out.println(na…
AspectJ 是一个基于 Java 语言的 AOP 框架,它扩展了 Java 语言.Spring 2.0 以后,新增了对 AspectJ 方式的支持,新版本的 Spring 框架,建议使用 AspectJ 方式开发 AOP. 使用 AspectJ 开发 AOP 通常有两种方式: 基于 XML 的声明式. 基于 Annotation 的声明式. 基于XML的声明式 基于 XML 的声明式是指通过 Spring 配置文件的方式定义切面.切入点及声明通知,而所有的切面和通知都必须定义在 <aop:c…
Spring 框架采用分层架构,根据不同的功能被划分成了多个模块,这些模块大体可分为 Data Access/Integration.Web.AOP.Aspects.Messaging.Instrumentation.Core Container 和 Test 下面分别对这些模块的作用进行简单介绍. 1. Data Access/Integration(数据访问/集成) 数据访问/集成层包括 JDBC.ORM.OXM.JMS 和 Transactions 模块,具体介绍如下. JDBC 模块:提…
Spring 是另一个主流的 Java Web 开发框架,该框架是一个轻量级的应用框架,具有很高的凝聚力和吸引力. Spring 是分层的 Java SE/EE full-stack 轻量级开源框架,以 IoC(Inverse of Control,控制反转)和 AOP(Aspect Oriented Programming,面向切面编程)为内核,使用基本的 JavaBean 完成以前只可能由 EJB 完成的工作,取代了 EJB 臃肿和低效的开发模式. 在实际开发中,通常服务器端采用三层体系架构…
EJB的学习成本很高,开发效率却不高,需要编写很多重复的代码,这些问题阻止了EJB的继续发展.就在EJB技术止步不前的时候,Spring框架在合适的时机出现了,Spring框架和EJB不同,Spring框架的学习成本非常低,它是一个轻量级的开发框架,更多强调面向对象的设计,而不是让现有的技术变得更复杂,它使用JavaBean替代了复杂的EJB,并且为JavaBean提供了简单易用的应用配置框架. 一个JavaBean就是一个公共类,它可以被其它JavaBean类作为组件来使用,并且JavaBea…
// 完成具体的任务操作 import java.util.TimerTask ; import java.util.Date ; import java.text.SimpleDateFormat ; class MyTask extends TimerTask{ // 任务调度类都要继承TimerTask public void run(){ SimpleDateFormat sdf = null ; sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:…
public class RegexDemo01{ public static void main(String args[]){ String str = "1234567890" ; // 此字符串由数字组成 boolean flag = true ; // 定义一个标记变量 // 要先将字符串拆分成字符数组,之后依次判断 char c[] = str.toCharArray() ; // 将字符串变为字符数组 for(int i=0;i<c.length;i++){ //…
import java.util.* ; class House extends Observable{ // 表示房子可以被观察 private float price ;// 价钱 public House(float price){ this.price = price ; } public float getPrice(){ return this.price ; } public void setPrice(float price){ // 每一次修改的时候都应该引起观察者的注意 su…
import java.util.* ; public class ArraysDemo{ public static void main(String arg[]){ int temp[] = {3,4,5,7,9,1,2,6,8} ; // 声明一个整型数组 Arrays.sort(temp) ; // 进行排序的操作 System.out.print("排序后的数组:") ; System.out.println(Arrays.toString(temp)) ; // 以字符串输…
import java.math.* ; class MyMath{ public static double add(double d1,double d2){ // 进行加法计算 BigDecimal b1 = new BigDecimal(d1) ; BigDecimal b2 = new BigDecimal(d2) ; return b1.add(b2).doubleValue() ; } public static double sub(double d1,double d2){ /…
import java.text.* ; public class NumberFormatDemo01{ public static void main(String args[]){ NumberFormat nf = null ; // 声明一个NumberFormat对象 nf = NumberFormat.getInstance() ; // 得到默认的数字格式化显示 System.out.println("格式化之后的数字:" + nf.format(10000000))…
public class MathDemo01{ public static void main(String args[]){ // Math类中的方法都是静态方法,直接使用“类.方法名称()”的形式调用即可 System.out.println("求平方根:" + Math.sqrt(9.0)) ; System.out.println("求两数的最大值:" + Math.max(10,30)) ; System.out.println("求两数的最小…
import java.util.* ; // 导入需要的工具包 class DateTime{ // 以后直接通过此类就可以取得日期时间 private Calendar calendar = null ; // 声明一个Calendar对象,取得时间 public DateTime(){ // 构造方法中直接实例化对象 this.calendar = new GregorianCalendar() ; } public String getDate(){ // 得到的是一个日期:格式为:yy…
import java.text.DateFormat ; import java.util.Date ; public class DateDemo03{ public static void main(String args[]){ DateFormat df1 = null ; // 声明一个DateFormat DateFormat df2 = null ; // 声明一个DateFormat df1 = DateFormat.getDateInstance() ; // 得到日期的Da…
import java.util.ResourceBundle ; public class InterDemo01{ public static void main(String args[]){ ResourceBundle rb = ResourceBundle.getBundle("Message") ; // 找到资源文件,不用编写后缀 System.out.println("内容:" + rb.getString("info")) ;…
class Info{ // 定义信息类 private String name = "李兴华"; // 定义name属性 private String content = "JAVA讲师" ; // 定义content属性 public void setName(String name){ this.name = name ; } public void setContent(String content){ this.content = content ; }…
import java.util.List ; import java.util.ArrayList ; public class Course{ private String name ; private int credit ; private List<Student> allStudents ; public Course(){ this.allStudents = new ArrayList<Student>() ; } public Course(String name…
import java.util.List ; import java.util.ArrayList ; public class School{ private String name ; private List<Student> allStudents ; public School(){ this.allStudents = new ArrayList<Student>() ; } public School(String name){ this() ; this.setN…