黑马程序员 -- Java基础学习(3)

来源:互联网 发布:java socket连接 编辑:程序博客网 时间:2024/06/05 19:18

------- android培训、java培训、期待与您交流! ----------


多态

 动物 y = new ();    DuoTaiDemo.java    DuoTaiDemo2.java 体现 父类引用指向子类对象 父类引用接收自己的子类对象 前提类与类之间有关系,继承或实现要有重写 好处:提高程序扩展性 弊端:只能使用父类的引用访问父类中的成员 对象转型    DuotaiDemo3.java类型提升/向上转型:Animal a = new Cat();向下转型:强制将父类引用转成子类类型:Cat c = (Cat)a;不能将父类对象转成子类类型  只有父类引用指向子类对象时才可以转换  自始至终都是子类对象在变化 类型转换异常 ClassCastExceptioninstanceof 判断类型 使用注意事项    DuotaiDemo3.java 多态中(非静态)成员函数的特点  存储在非静态区编译时:查找引用变量所属类中是否有调用的方法,如果有编译通过,没有则失败运行时:查找对象所属的类中是否有调用的方法成员函数在多态调用时:编译看左边,运行看右边成员变量的特点:无论编译或运行都参考引用型变量所属的类(左边)静态成员函数的特点:编译和运行都参考左边  因为一进内存就已经绑定到所属的类 电脑运行示例:主板    DuoTaiDemo5.java 数据库的操作    DBOperate.java1.连接数据库 JDBC Hibernate  2.操作数据库   crud: create read alter delete  3.关闭数据库连接DAO: data access object

Object

类层次结构的根类 equals()    ObjectDemo.java默认:比较地址值如果自定义类中也有比较相同的功能,可以重写equals方法  public boolean equals (Object obj) {  if (!(obj instanceof Demo)) {  return false;  }  Demo d = (Demo)obj;  ...toString()    描述类时一般要重写该方法

内部类

InnerClassDemo.javaInnerClassDemo2.java将一个类定义在另一个类里面访问规则可以直接访问外部类中的成员,包括私有  内部类持有外部类的引用,格式:外部类名.this  this.x 内部类的x  Outer.this.x 外部类的x外部类要访问内部类必须建立内部类对象访问格式非私有的内部类可以在外部其他类中直接建立该内部类对象  外部类名.内部类名  变量名 = 外部类对象.内部类对象;  Outer.Inne in = new Outer().new Inner();内部类可以被成员修饰符修饰static:只能直接访问外部类的static成员从其他类访问静态内部类的非静态成员  new Outer.Inner().function();从其他类访问静态内部类的静态成员  Outer.Inner.function();当内部类定义了静态成员,该内部类也必须是静态的当外部类的静态方法访问内部类时,该内部类也必须是静态的内部类可以私有当描述食物时,事物的内部还有事物,内部事物在使用外部事物的内容,则用内部类描述  可以用private封装,提供访问方法(例子:身体和心脏)内部类定义在局部位置不能被成员修饰符修饰可以直接访问外部类中的成员,因为还持有外部类中的引用  但是不可以访问所在局部中的变量,只能访问final修饰的匿名内部类:内部类的简写格式    InnerClassDemo3.java定义前提:必需继承一个类或实现一个接口格式:new 父类或者接口() {定义子类的内容}  new AbsDemo() {  void show() {  ***  }  }.show();实质就是一个匿名子类对象(带内容的对象)如果要起名,只能建立父类引用,没法访问子类特有的成员定义的方法最好不要超过3练习    InnerClassTest.java


0 0
原创粉丝点击