Java类的设计----多态性及其应用】的更多相关文章

多态性及其应用 多态性 多态—在Java中,子类的对象可以替代父类的对象使用一个变量只能有一种确定的数据类型一个引用类型变量可能指向(引用)多种不同类型的对象 Person p = new Student(); Object o = new Person();//Object类型的变量o,指向Person类型的对象 o = new Student(); //Object类型的变量o,指向Student类型的对象 父类类型的变量可以指向子类的对象 一个引用类型变量如果声明为父类的类型,但实际引用的…
Object类 Object类是所有Java类的根父类如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类 public class Person { ... } 等价于: public class Person extends Object {. ... }例: method(Object obj){…}//可以接收任何类作为其参数 Object o=new Person; method(o); ==操作符与equals方法 ==操作符与equals方法的区别: =…
关键字super 在Java类中使用super来引用父类的成分 super可用于访问父类中定义的属性 super可用于调用父类中定义的成员方法 super可用于在子类构造方法中调用父类的构造方法 super的追溯不仅限于直接父类 关键字 super举例 public class Person { private String name; private int age; public String getInfo() { return "Name: " + name + "\…
访问控制 可以对Java类中定义的属性和方法进行访问控制----规定不同的保护等级: public.protected.default.private //仅在类的内部可以访问. private String email; //在同一个包内该属性可以被访问. String major; //在子类中该属性可以被访问, 且该子类可以跨包 protected int salary; //访问权限最高, 无论是否在一个包内, 无论是否是子类都可以被访问. public String name; 访问控…
方法的重写.覆盖 在子类中可以根据需要对从父类中继承来的方法进行改造—覆盖方法(方法的重置.重写),在程序执行时,子类的方法将覆盖父类的方法. 覆盖方法必须和被覆盖方法具有相同的方法名称.参数列表和返回值类型. 覆盖方法不能使用比被覆盖方法更严格的访问权限. 覆盖方法举例(1) public class Person { public String name; public int age; public String getInfo() { return "Name: "+ name…
1.内聚性 类应该描述一个单一的实体,所有的类操作应该在逻辑上相互配合,支持一个连贯性的目标.例如:学生和教职工属于不同的实体,应该定义两个类. 2.一致性 要遵循一定的设计风格和命名习惯.给类.方法.数据域选择有信息量的名字.流行的风格是将数据声明置于构造方法之前,并将构造方法置于方法之前. 选择的名字要保持一致,给类似的操作选择不同的名字并非好的习惯. 如果不想让用户创建类的对象,可以在类中声明一个私有的构造方法. 3.封装性 用private修饰符隐藏其数据域,以免用户直接访问.如果想让数…
在Java类的设计中,有时希望一个类在任何时候只能有一个实例.这时可以将该类设计为单例模式(singleton).要将一个类设计为单例模式,需要把类的构造方法的访问修饰符声明为private,然后在类中定义一个static方法,在该方法中创建类的对象. 其实这里我不懂 package demo; public class Singleton { private static final Singleton INSTANCE = new Singleton(); private int a = 0…
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp71   Java 类的热替换 -- 概念.设计与实现 构建基于 Java 的在线升级系统 对于许多关键性业务或者庞大的 Java 系统来说,如果必须暂停系统服务才能进行系统升级,既会大大影响到系统的可用性,同时也增加了系统的管理和维护成本.因此,如果能够方便地在不停止系统业务的情况下进行系统升级,则可以很好地解决上述问题.在本文中,我们将基于实例,对构建在线升级 Jav…
JDBC创建数据库基本连接 //1.加载驱动程序 Class.forName(driveName); //2.获得数据库连接 Connection connection = DriverManager.getConnection(dbResource,username,password); // String sql = ""; //3.获得SQL处理语句 Statement statement = connection.createStatement(); PreparedState…
Program: 编程实现Person类,学生类的设计及其继承关系 代码如下: 定义抽象类Person 1 /* 2 * Description:建立抽象类 3 * 4 * Written By:Cai 5 * 6 * Date Written:2017-10-17 7 * 8 * */ 9 10 11 package resource; 12 13 public abstract class Person { 14 15 private String name; //姓名 16 private…