三大特性 封装 利用抽象数据类型,将数据和基于数据的操作封装在一起,构成一个实体,将数据和操作细节隐藏在内部,在程序中控制对象的数据及行为的访问级别,用户不需要知道对象内部的细节,可以直接通过对象对外提供的接口来访问对象。 优点: 减少耦合 方便维护 继承 继承实现了IS-A关系,集成遵循里氏替换原则,子类对象必须能够替换掉所有父类对象。子类可以继承父类的非private的属性和方法。 多态 多态分为运行时多态和编译时多态。 编译时多态指方法的重载 运行时多态指的是程序中定义的对象引用的具体类型在运行期间才能确定 满足以下三个条件就会触发运行时多态 继承关系 重写 向上转型 下述代码中,动物类(Animal)有两个子类,猫(Cat)和狗(Dog),都重写了父类的eat()方法,在方法中,使用了Animal作为引用对象类型来引用Cat和Dog对象,调用方法时,会调用实际对象类型的eat方法而不是Animal的eat方法 public class Animal { public void eat(){ System.out.println("动物在吃东西"); } } public cl.... 有更新! Java基础--面向对象 Java基础
1、注解 1.1、内置注解 @Override 子类重写方法 @Deprecated 标识这个方法或者类已经被废弃或有更好的选择 @SuppressWarnings 抑制编译器告警 1.2、元注解 元注解是用来修饰注解的注解 @Target 指定注释的使用范围 @Retention 注释的生命周期,有SOURCE(编译时被抛弃),CLASS(class文件中存在,但是运行时被抛弃),RUNTIME(运行时依然存在) @Documented 标识生成javadoc时,该注解修饰的注解也会在javadock中显示 @Inherited 某个类使用了用@Inherited注解标识的注解,则他的子类也会继承这个注解 1.3、自定义注解 使用@interface定义注解 import java.lang.annotation.*; @Target(value = {ElementType.METHOD,ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited public.... 有更新! 注解和反射 程序人生