zoukankan      html  css  js  c++  java
  • [Day13]static、final、匿名对象、内部类、包、修饰符、代码块

    1、final-最终

      (1)final的特点

        final修饰类不可以被继承,但是可以继承其他类

        final修饰的方法不可以被覆盖,但父类中没有final修饰方法,子类覆盖后可以加final

        final修饰的变量称为常量,这些变量只能赋值一次

        引用类型的变量值为对象地址值,地址值不能更改,但是地址内的对象属性可以修改

        修改成员变量,需要对创建对象前赋值,否则报错。

    2、static-静态,不创建对象就可以调用方法

      (1)static特点

        被static修饰的成员变量属于类,不属于这个类的对象

        被static修饰的成员可以并且建议通过类名直接调用方法

      (2)static注意事项

        静态内容是优先于对象存在,只能访问静态,不能使用super/this

        同一个类中,静态成员只能访问静态成员

        main方法为静态方法仅仅为程序执行入口,它不属于任何一个对象,可以定义在任意类中

      (3)定义静态常量

        格式:public static final 数据类型 变量名=值;

        接口中的每个成员变量都默认使用 public static final 修饰

        所有接口中的成员变量已是静态常量,由于接口没有构造方法, 所以必须显示赋值。可以直接用接口访问

    3.匿名对象-创建对象时,只有创建对象的语句,却没有把对象地址赋值给某个变量

      (1)匿名对象的特点

        创建匿名对象值直接使用,没有变量名

        匿名对象在没有指定其引用变量时,只能使用一次

        匿名对象可以作为方法接收的参数、方法返回值使用

    4、内部类-将类写在其他类的内部

      (1)什么时候使用

        在描述事物时,若一个事物内部还包含其他可能包含的事物

      (2)分类

        成员内部类:定义在外部类的成员位置,可以通过外部类对象进行方法

        访问方式:外部类名.内部类名 变量名=new 外部类名().new 内部类名();

        局部内部类:定义在外部类中的局部位置

        访问方式:在外部类方法中,创建内部类对象,进行访问

    5、匿名内部类

      (1)两个含义

        临时定义某一指定类型的子类

        定义后即刻创建刚刚定义的这个子类的对象

      (2)匿名内部类是创建某个类型子类对象的快捷方式

        格式:

          new 父类或接口(){

            //进行方法重写

          };

        使用匿名对象的方式,将定义子类与创建子类对象两个步骤由一个格式一次完成

    6、包的声明与访问

       (1)分包管理:当类文件很多的时候,通常用多个包进行存放管理

       (2)包的声明格式: package 包名.包名.包名...;

       (3)声明包的语句,必须写在程序有效代码的第一行

       (4)包的访问:带有包的类,创建对象格式:包名.类名 变量名=new 包名.类名();

       (5)import导包

    7、访问修饰符

      (1)要想仅能在本类中访问使用private修饰

      (2)要想本包中的类都可以访问不加修饰符即可

      (3)要想本包中的类与其他包中的子类可以访问使用protected修饰

      (4)要想所有包中的所有类都可以访问使用public修饰

    8、代码块

      (1)局部代码块:定义在方法或语句中

        以{}划分的代码区域

        方法和类都是以代码块的方式划定边界的

      (2)构造代码块:定义在类中成员位置的代码块

        优先于构造方法执行,构造代码块用于执行所有对象均需要的初始化动作

        每创建一个对象均会执行一次构造代码块

      (3)静态代码块:定义在成员位置,使用static修饰的代码块

        当以任意形式第一次使用到该类时执行,它优先于主方法执行、优先于构造代码块执行

        该类不管创建多少对象,静态代码块只执行一次

        可用于给静态变量赋值,用来给类进行初始化

  • 相关阅读:
    Flash与JS之间相互调用以及参数传递
    在Javascript中监听flash事件(转)
    DataTables.js插入数据的两种方式
    DataTable在内存中的使用
    oracle分页存储过程
    清空highcharts数据
    JDBC源码分析(加载过程)
    MAVEN实现多环境搭建
    Maven基础
    Ajax如何提交数据到springMVC后台
  • 原文地址:https://www.cnblogs.com/ERFishing/p/10564978.html
Copyright © 2011-2022 走看看