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修饰的代码块

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

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

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

最新文章

  1. 仿QQ消息气泡提醒
  2. [2015hdu多校联赛补题]hdu5384 Danganronpa
  3. STM32学习笔记(九) 外部中断,待机模式和事件唤醒
  4. [git]git 分支
  5. jquery学习笔记1
  6. mysql5.5 Replication 主从同步
  7. 火狐浏览器,hostadmin hosts文件访问权限不足
  8. 用CSS样式画横线和竖线的方法
  9. android LayoutInflater的使用
  10. Python眼睛护士改进版
  11. springMVC源码下载地址
  12. 9.app后端选择什么服务器
  13. js数组歌
  14. MySQL安装 8.0.15版本
  15. caffe-ssd安装GPU版本和CPU的区别
  16. node-lessons
  17. docker容器下tomcat 不向catalina.out输出日志解决以及支持中文字符集
  18. php 数组与数组 的交集和差集
  19. UI设计要学哪些软件
  20. 八.jQuery源码解析之get()

热门文章

  1. 关于Discuz! X系列远程代码执行漏洞
  2. python - Linux C调用Python 函数
  3. 分析轮子(五)- Vector.java
  4. Effective Java 第三版——62. 当有其他更合适的类型时就不用字符串
  5. 认知:关于Android 调试的坑
  6. csproj文件中copy指令的使用方式
  7. window10下TensorFlow-gpu环境搭建
  8. 理解、学习与使用 JAVA 中的 OPTIONAL<转>
  9. 如何将本地项目上传至GitHub(so easy!!!)
  10. css3图片处理方式 object-fit