package top.qaqaq.java.P349; /* * (1)定义一个Employee类,该类包含: private成员变量name,number,birthday,其中birthday 为MyDate类的对象; abstract方法earnings(); toString()方法输出对象的name,number和birthday。 *…
package top.qaqaq.java.P348; /* * 抽象类的应用:模板方法的设计模式 * * * */ public class TemplateTest { public static void main(String[] args) { Template t = new subTemplate(); t.spendTim…
package top.qaqaq.java.P347; /* * abstract关键字的使用 * 1. abstract:抽象的 * 2. abstract可以用来修饰的结构:类、方法 * * 3. abstract修饰类:抽象类 * > 此类不能实例化 * > 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) * >…
package top.qaqaq.java.P346; /* * 编写一个Employee类,声明为抽象类, 包含如下三个属性:name,id,salary。 提供必要的构造器和抽象方法:work()。 * * * */ public abstract class Employee { private String name; private i…
package top.qaqaq.java.P345; /* * abstract使用上的注意点: * 1. abstract不能用来修饰:属性、构造器等结构 * * 2. abstract不能用来修饰私有方法、静态方法、final的方法、final类 * * * * */ public class AbstractTest1 { }
package top.qaqaq.java.P344; public abstract class GeometricObject { protected String color; protected double weight; public GeometricObject(String color, double weight) { sup…
package top.qaqaq.java.P343; /* * abstract关键字的使用 * 1. abstract:抽象的 * 2. abstract可以用来修饰的结构:类、方法 * * 3. abstract修饰类:抽象类 * > 此类不能实例化 * > 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) * >…
如何将控制台获取的数据传给形参:String[ ] args? 运行时:java 类名 "Tom" "Jerry" "123" "true" System.out.println(args[0]);//"Tom" System.out.println(args[3]);//"true" -->Boolean.parseBoo…
面试题 排错 题目一 public class Something { public int addOne(final int x) { return ++x; // return x + 1; } } 题目二 public class Something { public static void main(String[] args) {…
package top.qaqaq.java.P334; /* * final:最终的 * * 1. final可以用来修饰的结构:类、方法、变量 * * 2. final 用来修饰一个类:此类不能被其他类所继承。 * 比如:String类、System类、StringBuffer类 * * 3. final 用来修饰方法:表明此方法不可以被重写 …
package top.qaqaq.java.P333; /* * 对属性可以赋值的位置: * ① 默认初始化 * ② 显式初始化 / ⑤在代码块中赋值 * ③ 构造器中初始化 * ④ 有了对象以后,可以通过"对象.属性"或"对象.方法"的方式,进行赋值 * * 执行的先后顺序:① - ② / ⑤ - ③ - ④ * */ public class…
package top.qaqaq.java.P332; //总结:由父及子,静态先行 class Root{ static{ System.out.println("Root的静态初始化块"); } { System.out.println("Root的普通初始化块"); } public Root(){ super(); System.out.…
代码块的使用情境 package top.qaqaq.utils; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet;…
package top.qaqaq.java.P330; /* * 类的成员之四:代码块(或初始化块) * * 1. 代码块的作用:用来初始化类、对象 * 2. 代码块如果有修饰的话,只能使用static. * 3. 分类:静态代码块 vs 非静态代码块 * * 4. 静态代码块 * >内部可以有输出语句 * >随着类的加载而执行,而且只执行一次 …
package top.qaqaq.java.P329; /* * main()方法的使用说明: * 1. main()方法作为程序的入口 * 2. main()方法也是一个普通的静态方法 * 3. main()方法可以作为我们与控制台交互的方式。(之前:使用Scanner) * */ public class MainTest { public …
这篇文章没有摘要
package top.qaqaq.java.P326; /* * 单例模式的懒汉式实现 * * * */ public class SingletonTest2 { public static void main(String[] args) { Order order1 = Order.getInstance(); Order orde…
package top.qaqaq.java.P325; /* * 单例设计模式: * 1. 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。 * * 2. 如何实现? * 饿汉式 vs 懒汉式 * * 3. 区分饿汉式 和 懒汉式 * 饿汉式: * 坏处:对象加载时间过长。 * 好处:饿汉式是线程安全…
设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模免去我们自己再思考和摸索。就像是经典的棋谱,不同的棋局,我们用不同的棋谱。”套路” 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生…
package top.qaqaq.java.P323; /* * 编写一个类实现银行账户的概念,包含的属性有“帐号”、“密码”、“存款余额”、“利率”、“最小余额”, * 定义封装这些属性的方法。账号要自动生成。 * 编写主类,使用银行账户类,输入、输出3个储户的上述信息。 * 考虑:哪些属性可以设计成static属性。 * * * * */ p…