接口的应用
摘要:1 实现接口的匿名类对象public class TestUsb { public static void main(String[] args) { Computer c = new Computer(); c.doWork(new Printer()); //...
阅读全文
posted @
2014-12-03 16:03
追梦的小屁孩
阅读(163)
推荐(0)
接口之代理模式
摘要:1 本例是静态代理,动态代理见反射。 public class TestProxy { public static void main(String[] args) { ProxyObject po = new ProxyObject(); po.action(); } } interface Object { void ac...
阅读全文
posted @
2014-12-03 15:11
追梦的小屁孩
阅读(204)
推荐(0)
接口之工厂方法的设计模式
摘要:1 定义一个用于创建对象的接口,让子类决定实例化哪一个类,FactoryMethod使一个类的实例化延迟到子类 package p1; public class TestFactory { public static void main(String[] args) { IWorkFactory i = new TeacherWorkFactory(); ...
阅读全文
posted @
2014-12-02 23:19
追梦的小屁孩
阅读(139)
推荐(0)
接口
摘要:1 接口可以看作是一个特殊的抽象类,是常量与抽象方法的一个集合 2 所有常量都是用public static final修饰,抽象方法都是用public abstract修饰,都可以省略 3 static final是全局常量 4 实现接口的类必须重写所有的接口中的方法,否则还是一个抽象类 5 接口与接口之间也是继承,而且是多继承,,如 interface TT extends MM,NN...
阅读全文
posted @
2014-12-02 22:48
追梦的小屁孩
阅读(120)
推荐(0)
抽象类_模板方法设计模式
摘要:1 抽象类作为多个子类的通用模版,父类提供一些通用的方法,并把几个不确定的方法交给子类实现。 package p1; public class TestTemplate { public static void main(String[] args) { Template t = new SubTemplate(); System.out.prin...
阅读全文
posted @
2014-12-02 20:59
追梦的小屁孩
阅读(133)
推荐(0)
抽象类与抽象方法
摘要:抽象类: 1 抽象类不能被实例化 2 抽象类有构造器(凡是类都有构造器) 抽象方法: 1. 没有方法体 2. 抽象方法只保留方法的功能,而具体的执行交给抽象类的子类,子类重写次抽象方法 3 抽象方法所在的类一定是抽象类,抽象类可以没有抽象方法 4.若子类继承抽象类,并重写了所有的抽象方法,则此类是一个实体类,可以实例化。 5. 若子类继承抽象类,没有重写所有的抽象方法,则此类是一...
阅读全文
posted @
2014-12-02 16:12
追梦的小屁孩
阅读(134)
推荐(0)
非static和static初始化块
摘要:1 关于属性赋值的操作:(1)默认的初始化(2)显式的初始化或代码块的初始化(此处两个结构按顺序执行)(3)构造器中 (4)通过方法对对象的相应属性进行修改 2 初始化块(代码块):如果有修饰,只能用static 3 非静态代码块: (1)可以对类的属性进行初始化操作(2)里面可以有输出语句 (3)一个类中可以有多个非静态代码块,按顺序执行(4)每创建一个类的对象,非静态代码块就创建一次(...
阅读全文
posted @
2014-12-01 23:52
追梦的小屁孩
阅读(133)
推荐(0)
static关键字和内存使用
摘要:1 static静态的,用来修饰属性,方法,代码块,内部类 2 当其中一个变量对此属性进行修改,会导致其他对象对此属性的一个调用 vs 实例变量:对象各有一套副本 3 静态变量和方法随着类的加载而加载,可以直接用类调用或对象调用,因为类加载早于对象。 4. static方法(类方法)中不能调用非静态的属性或方法。而非静态的方法可以调用静态的属性或方法。由于静态的结构生命周期早于非静态的结构...
阅读全文
posted @
2014-12-01 16:09
追梦的小屁孩
阅读(984)
推荐(0)
包装类练习
摘要:package lianxi3; import java.util.Scanner;
import java.util.Vector; public class TestScore { public static void main(String[] args) { // 1.从键盘输入学生成绩,输入负数结束 // 2.将学生成绩保存在Vecto...
阅读全文
posted @
2014-12-01 15:18
追梦的小屁孩
阅读(148)
推荐(0)
Junit单元测试方法的使用
摘要:1 当前工程下-右击build path- add libraries-Junit4 2 在主类中创建一个无返回值的方法 3 导入import org.junit.Test 4 在创建的方法中进行代码编写 5 双击方法名,右键run as - junit进行测试 @Test public void junit1(){ Colleague f = ne...
阅读全文
posted @
2014-11-30 20:35
追梦的小屁孩
阅读(97)
推荐(0)
toString方法
摘要:1 当打印一个对象的引用时,默认调用的就是这个对象的toString方法 2 当对象所在的类没有重写Object的toString方法,返回此对象所在的类的堆空间和实体的首地址值 3 当重写了以后,调用自己的toString方法,常常将对象的属性值返回 package lianxi3; public class Colleague { private String name;...
阅读全文
posted @
2014-11-30 12:12
追梦的小屁孩
阅读(144)
推荐(0)
String类的内存分析
摘要:String str1 = "AA";
String str2 = "AA";
String str3 = new String("AA");
System.out.println(str1==str2); //true System.out.println(str1.equals(str2)); //true System.out.println(str1==str3); /...
阅读全文
posted @
2014-11-29 23:25
追梦的小屁孩
阅读(150)
推荐(0)
Object类及equals()方法
摘要:1 == 对于基本数据类型,根据两端的值来判断是否相等,即使两端的数据类型不同,也可以返回true。引用数据类型,比较引用变量类型的地址是否相等 2 equals()是比较引用类型变量是否相等,也是比较地址值 3 ctrl+shift+t 查看源码 ctrl+/ 注释 package lianxi2; public class TestEquals { public st...
阅读全文
posted @
2014-11-29 14:51
追梦的小屁孩
阅读(240)
推荐(0)
多态性的使用
摘要:public class Department { public String name; private int number; public Department() { super(); } public Department(String n...
阅读全文
posted @
2014-11-29 10:55
追梦的小屁孩
阅读(157)
推荐(0)
方法的重写(override overwrite)
摘要:1 重写的规则: 1)子类方法的”返回值类型 方法名 (参数列表)”与父类方法必须都相同 2) 子类方法的修饰符不能小于父类方法的修饰符 3)若父类方法抛异常,那么子类方法抛的异常类型不能大于父类 4)子父类方法必须同为static或非static的 5)父类中private的方法由于子类看不到,所以无法重写。可以在子类中定义同样方法名,不同返回值类型的方法,但是不是重写。除此之外,其...
阅读全文
posted @
2014-11-28 16:05
追梦的小屁孩
阅读(234)
推荐(0)
this,package和import关键字的使用
摘要:1 可以用来修饰属性、方法、构造器 2 this为当前对象或当前正在创建的对象 3 可以在构造器中用“this(形参)”的方式显式的调用其他重载的构造器 (1)在构造器中必须声明在首行 (2)n个构造器最多有n-1个this,否则死循环 public Person(String name){ this.name = name;
}
public Person(String n...
阅读全文
posted @
2014-11-28 15:00
追梦的小屁孩
阅读(159)
推荐(0)
方法的参数值和值传递机制
摘要:1 可变个数的形参的方法: 如: public void print(int i, String...args) 调用: t.print(3,”hello we”,”god like”);2 java的参数传递机制: 值传递(1)形参是基本数据类型的:将实参的值传递给基本数据类型的变量public ...
阅读全文
posted @
2014-11-27 23:32
追梦的小屁孩
阅读(227)
推荐(0)
对象的参数传递和匿名类
摘要:1 创建的匿名类对象只能调用一次。因为在创建的该对象放在堆内存中,在栈中无引用对象引用。所以下次再调用时,系统将其回收。package lianxi1;class Circle{ int radius; public int getRadius(){ return radi...
阅读全文
posted @
2014-11-27 15:48
追梦的小屁孩
阅读(813)
推荐(0)
java方法使用
摘要:1 在方法中可以调用同一个类中的方法和属性,但是不能定义方法。system.out语句只能在方法中 2 方法重载:(1)同一个类中 (2)方法名相同 (3)参数列表的类型不同或者个数不同 代码: public class Method1 { //方法重载求2个数的最大值 public static void main(String[] args) { ...
阅读全文
posted @
2014-11-26 23:22
追梦的小屁孩
阅读(128)
推荐(0)
类对象,属性与局部变量的内存分配
摘要:类对象的分配与数组类似 : 对象的引用,局部变量在栈内存中,new出来的东西(包括成员变量)在堆内存中。一、成员变量:1 成员变量定义在类中,在整个类中都可以被访问。2 成员变量分为类成员变量和实例成员变量,实例变量存在于对象所在的堆内存中。3 成员变量有默认初始化值。4 成员变量的权限修饰符可以根...
阅读全文
posted @
2014-11-26 17:25
追梦的小屁孩
阅读(326)
推荐(0)