![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java编程思想学习
Lazy_Die
计算机小萌新一个
展开
-
向上转型
class Instrument{public void play(){}static void tune(Instrument i){i.play();}}public class Wind extends Instrument{public static void main(String[] args){Wind fWind = new Wind();Ins原创 2017-05-26 16:32:46 · 347 阅读 · 0 评论 -
为什么使用内部类
内部类提供了某种进入其外围类的窗口我们都知道接口是允许多继承的,而类或抽象类都只能单继承但是内部类允许继承多个非接口类型。内部类的一些特性:内部来可以有多个实例,每个实例都有自己的状态信息,并且与其外围类对象的信息相互独立。在单个外围中,可以让多个内部类以不同的方式实现同一个接口,或继承同一个类。创建内部类对象的时刻并不依赖于外围类对象的创建内部类并没有令人迷惑原创 2017-06-05 16:18:12 · 313 阅读 · 0 评论 -
闭包与回调
package innerclasses;interface Incrementable{void increment();}class Callee1 implements Incrementable{private int i = 0;public void increment(){i++;System.out.println(i);}}cl原创 2017-05-31 22:09:26 · 394 阅读 · 0 评论 -
外部类是否可以访问内部类private元素
根据实验我发现外部类是可以访问的class Parcel4{private class PContents implements Contents{private int i =11;public int value(){return i;}}public Contents contents(){return new PContents();}p原创 2017-06-05 15:03:04 · 2123 阅读 · 0 评论 -
工厂设计模式
package interfaces;/** * 工厂设计模式 * */interface Service{void method1();void method2();}interface ServiceFactory{Service getService();}class Implementation1 implements Service{原创 2017-05-29 22:23:31 · 233 阅读 · 0 评论 -
通过继承来扩展接口
package interfaces.filter;/** * 通过继承来扩展接口 * * */interface Monster{void menace();}interface DangerousMonster extends Monster{void destroy();}interface lethal{void kill();}c原创 2017-05-29 12:49:20 · 320 阅读 · 0 评论 -
java中接口和抽象类
包含抽象方法的类叫做抽象类。如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的。如果从一个抽象类继承,并想创建改新类的对象,那么就必须为基类中的所有抽象方法提供方法定义。如果不这样做(可以选择不做),那么导出类便也是抽象类,并且编译器会强制我们使用abstract关键字来限定这个类。创建抽象类和抽象方法非常有用,因为它们可以使类的抽象性明确起来,并告诉用户和编译器打算怎样来使用它原创 2017-05-29 12:32:40 · 267 阅读 · 0 评论 -
适配器设计模式
package interfaces.filter;public class BandPass extends Filter {double lowCutoff,highCutoff;public BandPass(double lowCut,double highCut){lowCutoff = lowCut;highCutoff =highCut;}publ原创 2017-05-29 12:07:27 · 239 阅读 · 0 评论 -
策略设计模式
package shejimoshi;import java.util.Arrays;class Processor{public String name(){return getClass().getSimpleName();}Object process(Object input){return input;}}class Upcase原创 2017-05-28 22:32:26 · 679 阅读 · 0 评论 -
向下转型
class Useful{public void f(){}public void g(){}}class MoreUseful extends Useful{public void f(){}public void g(){}public void u(){}public void v(){}public void w(){}}public class原创 2017-05-27 19:37:52 · 359 阅读 · 0 评论 -
final关键字
用final关键字修饰基本类型时表示所修饰的数据保持不变,不会被修改用final关键字修饰对象引用(如数组)时,final使引用恒定不变,一旦被初始化指向一个对象,就无法把它改为指向另一个对象。但对象本身是可以被修改的,所以修改对象本身的数据,是可以改变用final修饰的数据的值原创 2017-05-26 19:27:26 · 220 阅读 · 0 评论 -
编译期常量
原文地址:http://www.cnblogs.com/ningvsban/p/3591610.html 编译器常量的特点就是:它的值在编译期就可以确定。比如: final int i = 5; 再傻的编译器也能在编译时看出它的值是5,不需要到运行时。对于运行时常量,它的值虽然在运行时初始化后不再发生变化,但问题就在于它的初始值要到运行时才能确定。 比如:转载 2017-05-26 16:59:06 · 366 阅读 · 0 评论 -
LinkedList
LinkedList 在进行插入和删除是比ArrayLis高效在随机访问操作上要逊色ArrayList原创 2017-06-08 21:17:53 · 268 阅读 · 0 评论