zoukankan      html  css  js  c++  java
  • 三大修饰符:static、final、abstract

    三大修饰符:static、final、abstract

    static(静态)

    概念:
    	1.静态可以修饰属性和方法。
    	2.修饰属性我们称为静态属性(类属性),修饰方法称为静态方法(类方法)。
    	3.静态成员是全类所有对象共享的成员,只有一份,不因创建多个对象产生多份。
    	4.静态成员应该使用类名访问。
    
    调用静态方法:
    	在同一个类中有多个静态方法,之间互相调用可以直接写"静态方法的名称"
        在不同类中,调用其他类的静态方法语法:类名.静态方法名称
    

    static特点

    1.静态方法可以直接访问静态成员。
    2.静态方法不能直接访问非静态成员,可以通过创建对象进行访问。
    3.静态方法可以被继承,没有覆盖,没有多态。
    

    类加载

    概念:当JVM首次使用某个类,这个类的.class文件必须先加载到内存中。
    加载时机:(背)
    	创建对象
    	创建子类对象
    	访问静态属性
    	调用静态方法
    

    代码块

    {}:动态代码块,执行地位:执行构造方法中的代码之前,初始化属性之后
    static{}:静态代码块,执行地位:类加载时执行且只执行一次
    

    abstract

    抽象类

    抽象类作用:
    	1.为子类提供共性属性和方法。
    	2.可声明引用,强制使用多态。
    抽象方法的作用:
    	1.强制子类覆盖,否则子类声明为抽象类。
    	
    总结:
    	1.抽象类不能创建对象,可以声明引用。
    	2.抽象类中不一定有抽象方法,而有抽象方法的类一定是抽象类。
    	3.继承下,子类必须覆盖父类中抽象方法,否则子类声明为抽象类。
    	4.抽象方法,只有方法声明,没有方法实现。
    

    final

    概念:最终的。
    final可以修饰:
    	类:表示最终类,不能被继承。
    	方法:表示最终方法,不能被覆盖。
    	变量:变量为常量,只能赋值一次。
    		局部变量:显示初始化。
    		实例变量:显示初始化、动态代码块、构造方法
    		静态变量:显示初始化、静态代码块
    		基本数据类型变量:值不可变
    		引用数据类型:地址不可变
    

    接口

    接口与抽象类的异同:
    	相同:
    		都可生成对应的.class文件。
    		都不能创建对象。
    		可以声明引用。
    		都可以使用Object类中的方法。
    	不同:
    		 接口只能定义公开静态常量,隐式存在public static final
             接口只能定义公开抽象方法
             没有构造方法、动态代码块、静态代码块
    接口的概念:接口是一种能力。
    应用:父类提供的方法个数无法满足子类的需求,可通过实现接口的方式扩充子类能力。
    拓展:接口是可以多实现的。
        
    接口的规范:
    	实现接口,需要覆盖接口中的所有抽象方法,否则该类声明为抽象类。
    	覆盖时访问修饰符必须是public。
    

    类和接口之间常见的关系

    类与类:单继承
    	extends 父类名称
    
    类与接口:多实现
    	implements 接口1,接口2
    	
    接口与接口:多继承
    	extends 接口1,接口2,接口3
    

    接口的好处

    1.降低耦合度
    2.更自然使用多态
    3.更容易搭建程序框架
    4.更容易更换具体实现
    5.设计与实现分离
    
  • 相关阅读:
    香港中小学校资料
    几本图形学的书
    windows下MBCS和UNICODE编码的转换
    索引测试代码
    Ext.Net一些特别问题(有些未验证)
    MSSQL优化之索引优化(转)
    [转载红鱼儿]kbmmw 开发点滴:kbmmW服务端事务控制
    Devexpress VCL Build v2012 vol 12.2.2 发布
    [转载红鱼儿]kbmmw 开发点滴:kbmMWQuery插入记录
    2013年新年礼物CrossFPC 终于出来了
  • 原文地址:https://www.cnblogs.com/lhy8116/p/14189038.html
Copyright © 2011-2022 走看看