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

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

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

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

[Day13]static、final、匿名对象、内部类、包、修饰符、代码块的更多相关文章

  1. Java—匿名对象/内部类/访问修饰符/代码块

    匿名对象 匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. //创建一个普通对象 Person p = new Person(); //创建一个匿名对象 new Pers ...

  2. Java 面向对象之static,final,匿名对象,内部类,包,修饰符

    01final关键字概念 A: 概述 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这 ...

  3. -1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口 区别 多态 包 访问权限 内部类 匿名内部类 == 与 equal

    java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型  也就是 ...

  4. java全栈day12----final static 匿名对象 内部类 包的声明与访问

    final关键字概念 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后, ...

  5. this/super/static/final/匿名对象/继承/抽象类/访问权限修饰符

    1.this关键字的作用     1)调用本类中的属性;     2)调用本类中的构造方法;且只能放首行,且必须留一个构造方法作为出口,即不能递归调用     3)表示当前对象; 2.匿名对象     ...

  6. Java面向对象(概述,构造函数,类与对象的关系,this关键字,成员、局部),匿名对象的调用,构造代码块(5)

    Java面向对象(概述,构造函数,类与对象的关系,this关键字,成员.局部),匿名对象的帝爱用,构造代码块(5)

  7. Java基础学习笔记十 Java基础语法之final、static、匿名对象、内部类

    final关键字 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后,就可以对 ...

  8. java 匿名对象,内部类,修饰符,代码块

    匿名对象是在建对象时只有创建对象的语句方法而没有把对象的地址赋值给变量,匿名对象只能调用一次方法,想再调用时需要再创建一个新的匿名对象 创建普通对象:Person p =new Person(); 创 ...

  9. MVC5中Model层开发数据注解 EF Code First Migrations数据库迁移 C# 常用对象的的修饰符 C# 静态构造函数 MSSQL2005数据库自动备份问题(到同一个局域网上的另一台电脑上) MVC 的HTTP请求

    MVC5中Model层开发数据注解   ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证( ...

  10. C# 常用对象的的修饰符

    class(类) 1.internal 表示类只能在当然程序集中访问,类默认修饰符 2.public 表示所有地方都可以访问,与internal是互斥的 3.abstract 抽象类,不能被实例化,只 ...

随机推荐

  1. java 定时任务之一 @Scheduled注解(第一种方法)

    使用spring @Scheduled注解执行定时任务: 运行!!! 关于Cron表达式(转载) 表达式网站生成: http://cron.qqe2.com/  直接点击 作者:http://blog ...

  2. The module is an Android project without build variants, and cannot be built

    导入 安卓项目报错 Error:The module 'app' is an Android project without build variants, and cannot be built. ...

  3. Linux内存、性能诊断中vmstat命令的详解

    vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存 交换情况,IO读写情况.相比top,通过vmstat可以看到 ...

  4. invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

    Mac系统升级git会找不到并且报错:xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools) ...

  5. Oracle分析函数-OLAP函数总结

    ORACLE OLAP 函数 最近这个东东用得特别多,总结了一下 .  语法: FUNCTION_NAME(,,...)    OVER() OLAP函数语法四个部分: 1.function本身 用于 ...

  6. linux下怎样批量更改文件后缀名

    今天又有同学问linux下怎样批量更改文件后缀名,这个问题被别人问到三次了,所以这里给出几个解决方法 一.rename解决 1.  Ubuntu系统下 rename 's//.c//.h/'  ./* ...

  7. 我们正在招聘java工程师,想来美团工作吗?

    我们希望你有? 1.3年以上Java服务器开发经验,精通Java及面向对象设计开发,熟悉主流web框架 2.熟悉网络编程,熟悉TCP/IP协议,熟悉互联网应用协议 3.有大规模分布式系统设计与开发经验 ...

  8. 【转】Servlet 生命周期、工作原理

    Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方法.它是在服务器装入Ser ...

  9. jquery Ajax请求示例,jquery Ajax基本请求方法示例

    jquery Ajax请求示例,jquery Ajax基本请求方法示例 ================================ ©Copyright 蕃薯耀 2018年5月7日 https: ...

  10. JS 浅谈函数柯里化,不明觉厉

    在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术.这个技术由 Christopher ...