The seventh day

1.父类也称作超类,基类,派生类
2.Java中只有单继承,没有像C++那样的多继承,多继承会引起混乱,使得继承链过于复杂,系统难于维护
3.Java的接口可以多继承;类只能单继承
4.子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问(比如父类的私有属性和方法)
5.如果定义一个类,没有调用extends,则它的父类是:java.lang.Object。
方法的重写override(指的是子类重写父类的方法)
子类通过重写父类的方法,可以用自身的行为替换父类的行为
还回值类型声明异常类型,子类小于父类
Object类是所有Java类的根基类,也就意味着所有的Java对象都拥有Object类的属性和方法
package cn.sxt.oo2;
//object是对象的意思
public class TestObject {     //继承了Object类
 public static void main(String[] args) {
  //Object obj;
  TestObject to = new TestObject();
  System.out.println(to.toString());
  Perso p2 = new Perso("洗洗",6);
 }
 public String toString(){
  return "测试Object";
 }
}
class Perso{
 String name;
 int age;
 
 public String toString(){
  return name+"年龄:"+age;
 }
 public Perso(String name,int age){//构造器
  
 }
}
继承_equals方法的重写:
 “==”代表比较双方是否相同,如果是基本类型则表示值相等,如果是引用类型则表示地址相等即是同一个对象;
 equals是Object类中定义的方法,public boolean equals(Object obj)方法,提供定义“对象内容相等”的逻辑。
package cn.sxt.oo2;
public class TestEquals {
 public static void main(String[] args) {
  Object obj;
  String str;
  User u= new User(111,"邹奇方","35551520");
  User u2 = new User (000,"邹奇方","65551520");
    System.out.println(u==u2);
 }
}
class User{
 int id;
 String name;
 String pwd;
 public User(int id, String name, String pwd) {
  super();
  this.id = id;
  this.name = name;
  this.pwd = pwd;
 }
 public boolean equals(Object obj) {
        return (this == obj);
    }
}
 
super是直接父类对象的引用。可以通过super来访问父亲中被子类覆盖的方法或属性。
package cn.sxt.oo2;
public class TestSuper {
 public static void main(String[] args) {
  //new ChildClass().f();    //此行注释无输出结果,此行不注释输出4个结果,故子类也可继承父类的输出
  
 
 }
}
class FatherClass{
  int value;
  public void f(){
   value=100;
   System.out.println("FatherClass.value="+value);
  }
}
class ChildClass extends FatherClass{
 int value;
 public void f(){
  super.f();         //调用父类对象的普通方法
  value = 200;
  System.out.println("ChildClass.value="+value);
  System.out.println(value);
  System.out.println(super.value);    //调用父类对象的成员变量
 }
}
面向对象三大特征_封装——访问控制符:
 修饰符        同一个类是否能看见        同一个包中        子类            所有类
                private                 *                                                  
 default                 *                                 *                  
 protected            *                                  *                 *                  
                public                  *                                  *                 *                  *

猜你喜欢

转载自www.cnblogs.com/xgzyz/p/10325309.html
Day