自学内容网 自学内容网

学习JAVA的第八天(基础)

目录

多态

前提

形式

测试类

调用成员的特点

优势

 劣势

注意事项:

final关键字

常量 

命名规范:

注意事项:

 权限修饰符

分类

代码块

局部代码块 

构造代码块

静态代码块

抽象类

抽象类:

定义格式    

抽象方法:

定义格式   

注意事项


多态

        同类型的对象,表现出不同形态

前提

        有继承关系

        有父类引用指向子类对象

        有方法重写

形式

        父类类型 对象名称 = 子类对象;

测试类

public class Test {
    public static void main(String[] args) {
        //创建3个对象 学生 老师 管理员

        Student s = new Student();
        s.setName("张三");
        s.setAge(18);

        Teacher t = new Teacher();
        t.setName("李四");
        t.setAge(50);

        Administrator a = new Administrator();
        a.setName("王五");
        a.setAge(30);

        register(s);
        register(t);
        register(a);
    }

    public static  void register(Person p) {
        p.show();
    }
//    学生的信息为:张三,18
//    老师的信息为:李四,50
//    管理员的信息为:王五,30
}

调用成员的特点

变量调用:编译看左边,运行也看左边

方法调用:编译看左边,运行看右边

优势

        在多态形态下,右边对象可以解耦合,便于扩展和维护。

        定义方法时,使用父类做参数,可以接收所有子类,体现多态的扩展性和便利

 劣势

 不能调用子类的特有功能,使用时需要进行强制类型转换。转换时使用instanceof关键字进行判断

        包就是文件夹,用来管理不同功能的java类,方便后续的代码维护

包名取名规则:见名知意

注意事项:

        使用同一包中的类,不需要导包

        使用java.lang包中的类,不需要导包

        如果同时使用两个包的同名类,需要用全类名

final关键字

修饰对象作用
方法表明该方法是最终方法,不能被重写

表明类是最终类,不能被继承

变量叫做常量,只能被赋值一次

常量 

        常量一般作为系统的配置信息,方便维护,提高代码可读性。

命名规范:

                单个单词:全部大写

                多个单词:全部大写,单词之间用下划线隔开 

注意事项:

        final修饰的变量是基本数据类型,那么变量存储的地址值不能发生变化。

        final修饰的变量是引用数据类型,那么变量存储的地址值不能发生变化,对象内部可以改变

 权限修饰符

 权限修饰符:用来控制一个成员被访问的范围

作用:可以修饰成员变量,成员方法,构造方法,内部类

分类

修饰符同一个类中同一个包中其他类不同包下的子类不同包下的无关类
private
空(默认)
protected
public

代码块

  • 局部代码块
  • 构造代码块
  • 静态代码块

局部代码块 

                用于限定变量生命周期,提高内存利用率。

构造代码块

                写在成员位置的代码块,优先构造方法执行的。

静态代码块

                需要static关键字修饰,随着类的加载而加载,并且自动触发,只执行一次。

抽象类

抽象类:

                如果一个类中存在抽象方法,那么该类必须被声明为抽象类

定义格式    

public abstract class 类名{}

抽象方法:

                将共性的行为抽取到父类之后。由于每个子类执行的内容不一样,所以在父类中不能确定每个子类的方法体

定义格式   

public abstract 返回值类型 方法名(参数列表);

注意事项

  • 抽象类不能实例化
  • 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
  • 可以有构造方法
  • 抽象类的子类需要重写抽象类中的所有抽象方法,或者子类也是抽象类


原文地址:https://blog.csdn.net/znc5201314/article/details/136307291

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!