Java周报
Java面向对象的特征有三种分别是封装、继承和多态;
封装:对类中成员属性进行隐藏,也就是私有化,只能在那一个类里面使用,要想在其他类中使用就得用继承的方法来使用。
优点:1、良好的封装可以减少类的耦合性(类与类的关联);
2、对类中封装的代码可以自由修改,而不会影响其他类;
3、最大程度提高类中属性的隐蔽性和对属性的控制;
继承:而当多个类中都存在相同的属性和行为时,可以将这些共有的属性和行为定义到一个新的类中,让其他类使用这个新类的属性和行为,这种关系就是继承关系;
其中被继承的类就是父类(超类,基类),继承父类的类就是子类(新类,派生类);
继承是一个子类继承父类的属性和方法,当然,子类也可以定义自己的属性和方法
Java中只能是单继承,一个类只能有一个直接父类的父类,可实现多层次继承
子类 -> 父类 -> 父类的父类
子类可以继承父类的方法,但是当父类的方法不能满足子类的需要时,子类可以重写父类的方法。
重写的必要条件:
1、两个方法名必须相同,且存在不同类中(父子关系的类);
2、子类重写的父类的方法,其方法的参数和返回值必须完全一样,方法的具体实现可不一样;
3、访问修饰符必须大于或等于父类的修饰符;
属性: 子类通过super 关键字访问父类的属性 ,子类通过this关键字访问自己的属性;
方法:子类通过super挂件自方法父类的方法, 子类通过this关键字访问自己的方法;
注意: 这里的this和super可以省略,省略后子类通过“就近原则”访问属性和方法(子类中存在就访问子类的,子类中不存在,就访问父类的。);
构造器:子类通过super([参数]) 调用父类的构造器, 子类通过this([参数])调用 自己类的其他构造器,其中 super(参数[]) 必须写在子类构造器的第一行;
多态:为了适应需求的多种变化,类可以呈现多种形态,是代码就通用;
1、子类对象转父类对象时,称为向上转型是默认转换,自动转型 ;
2、父类的引用转成子类对象,称为向下转型,向下转型需要强转 , 为了避免转换错误,需要先判断数据类型是否匹配(instanceof : 判断该对象是否属于 这个类型);
在多态环境下,方法和属性的调用规则:
属性: 当子类和父类中存在相同属性时 ,以 对象的左边引用类型为依据,所谓“看左边” ;
方法: 以当前new出来的对象为依据,如果方法重写了,就调用子类方法,如果方法没有重写 调用父类方法;
静态方法: 无论方法是否有重写, 都已对象左边的引用类型为依据;
访问修饰符:public:公共的;protected:受保护的;private:私有的;默认的;
static关键字:static修饰属性:称为静态属性或类的属性;
static修饰方法:称为静态方法或类的方法;
static修饰的语句块:称为静态代码块
抽象类:在已有类的基础上,由于特殊情况将该类设置为抽象的,这个类就是抽象类。
简单地说就是当你需要定义一个具体的实例时,或当这个类中存在没有实现的方式(没有方法体的方法)的时候可以将这个类定义为抽象类;
抽象类的特点:1、抽象类不能实例化(不能new),通常抽象被当做父类使用;
2、抽象类中可以有抽象方法(没有方法体的方法)也可以由普通的方法;
3、抽象类被当做父类时,它的子类必须重写父类的抽象方法;

浙公网安备 33010602011771号