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、抽象类被当做父类时,它的子类必须重写父类的抽象方法;

 

posted @ 2020-10-11 21:44  刘176  阅读(246)  评论(0)    收藏  举报