匿名对象是在建对象时只有创建对象的语句方法而没有把对象的地址赋值给变量,匿名对象只能调用一次方法,想再调用时需要再创建一个新的匿名对象

创建普通对象:Person p =new Person();

创建匿名对象:new Person().方法名();

new Person().setName("王无");

内部类:写在其他类的内部或者成员位置或局部位置,这是其他类叫外部类。在内部类中可以访问外部类的属性。

当内部类写在成员位置时,叫成员内部类,写在局部位置时,叫局部内部类。

成员内部类定义格式:  跟定义普通的类基本一样

class 外部类名{

  public class 内部类名(){}

}

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

public class a {  //外部类
class b{ //内部类
public void c(){
System.out.println("这是一个成员类");
}
}
}
a.b aa= new a().new b();
aa.c();

局部内部变量的定义方式:

class 外部类名{

  修饰符  返回值  方法名(){

    class 内部类{其他代码}

}

}

访问方式:在外部创建内部类对象,在main方法中调用方法

package com.oracle.demo04;

public class a {   //外部类
public void c(){
class d{ //内部类
public void e(){
System.out.println("这是一个内部类");
}
} new d().e();
}
}
a aa =new a();
aa.c();

修饰符

 

public

protected

default

private

同一类中

同一包中(子类与无关类)

不同包的子类

不同包中的无关类

 

l 要想仅能在本类中访问使用private修饰;

l 要想本包中的类都可以访问不加修饰符即可;

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

l 要想所有包中的所有类都可以访问使用public修饰。

l 注意:如果类用public修饰,则类名必须与文件名相同。一个文件中只能有一个public修饰的类。

代码块

局部代码块是定义在方法或语句中

  

构造代码块是定义在类中成员位置的代码块

特点:

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

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

静态代码块是定义在成员位置,使用static修饰的代码块

特点:

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

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

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

 package com.oracle.demo04;

 public class Static {
private String name;
private int age;
/*构造代码块,创建一个对象执行一次*/
//构造代码块
{
System.out.println("这是构造代码块");
}
/*静态代码块,在该类第一次创建对象时,执行一次,以后不管再创建多少个,都
* 不执行了,就执行一次,优先于其他代码块*/
//静态代码块
static{
System.out.println("这是静态代码块");
}
//局部代码块
public void show(){
System.out.println("这是局部代码块");
}
}

java 匿名对象,内部类,修饰符,代码块的更多相关文章

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

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

  2. 匿名对象 构造方法 重载 构造代码块 this 关键字

    一.匿名对象 1.匿名对象 :没有名字对象 2.匿名对象的使用注意点: 1.我们一般不会用匿名对象给属性赋值,无法获取属性值. 2.匿名对象永远都不可能事一个对象. 3.匿名对象的好处 : 书写简单. ...

  3. Java多线程6:Synchronized锁代码块(this和任意对象)

    一.Synchronized(this)锁代码块 用关键字synchronized修饰方法在有些情况下是有弊端的,若是执行该方法所需的时间比较长,线程1执行该方法的时候,线程2就必须等待.这种情况下就 ...

  4. Java接口以及匿名内部类,静态代码块

    接口 接口中只能定义public并且是final的公共静态常量,不允许定义变量. 抽象类可以定义抽象方法和非抽象方法,接口中只能定义公共的,抽象的实例方法. 接口只能由其他接口实现继承 子接口继承的目 ...

  5. Java之内部类、包及代码块

    个人通俗理解: 1.内部类:有点类似于写在父类中的子类,根据位置不一样为不同的名字,和相应的访问方式不同:不过要访问外部类的话,需要充分运用好this(本类)的这个关键字:要是需要快速的创建子类对象的 ...

  6. java基础8 构造函数和构造代码块

    一.构造函数 1 构造函数的作用 给对应的对象进行初始化. 2 构造函数的格式 修饰符 函数名(形式参数){ //函数名就是类名 函数体 } 举例说明: class Perosn{ private i ...

  7. Java类的成员之四:代码块.

    3.2类的成员之四:代码块 ①初始化块(代码块)作用:对Java对象进行初始化 ②程序的执行顺序: ③一个类中初始化块若有修饰符,则只能被static修饰,称为静态代码块(static block ) ...

  8. 2020重新出发,JAVA入门,标识符&修饰符

    标识符(Identifier ) 标识符是程序员用来命名变量,方法,类或标签的单词,其实就是我们在开发过程中凡是自己可以命名的一些单词就是标识符 标识符命名规则 标识符由字母(a-z,A-Z),数字( ...

  9. 关于Java语言中那些修饰符

    一.在java中提供的一些修饰符,这些修饰符可以修饰类.变量和方法,在java中常见的修饰符有:abstract(抽象的).static(静态的).public(公共的).protected(受保护的 ...

随机推荐

  1. C++实现二叉树

    #include <iostream> using namespace std ; class Tree { public : int number ; class Tree *left ...

  2. 从开发者角度解析 Android N 新特性!

    大清早看到 Google 官方博客发布 Android N 的开发者预览版,立马从床上跳起来开始仔仔细细的读起来. 从开发者角度来看,Android N 的更新并不算大.网上之前流传的一些 Andro ...

  3. easyui 在编辑状态下,动态修改其他列值。

    首先是自定义了一个方法uodateColumn更新列值 /** *自定义的修改列值方法 */ $.extend($.fn.datagrid.methods, { updateColumn: funct ...

  4. Windows上模拟Linux环境的软件Cygwin

    Windows上模拟Linux环境的软件Cygwin 2010-10-11 15:19      我要评论(0) 字号:T|T Cygwin是一个用于在Windows上 模拟Linux环境的软件.它可 ...

  5. eclipse工程当中的.classpath 和.project文件什么作用?

    .project是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置.classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH .classpa ...

  6. golang基础- ElasticSearch搜索引擎、kibana可视化工具、向ES输出数据

    转载自:https://blog.csdn.net/u013210620/article/details/78647366 安装ElasticSearch ElasticSearch是一个基于Luce ...

  7. 装修工人如何在网上"找活"

    http://blog.sina.com.cn/s/blog_555e8fe80102wwsz.html ps:其实码农也是一种装修工. 在这个互联网时代,各个行业都在利用网络达到自己的商业目的,作为 ...

  8. python笔记:#009#判断语句

    判断(if)语句 目标 开发中的应用场景 if 语句体验 if 语句进阶 综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?-- 程序 ...

  9. JavaScirpt的this指向 apply().call(),bind()个人笔记

    写在前头: 本站内容为个人学习记录,纯属个人观点,不喜勿喷,欢迎指正! 笔记记录缘由:JavaScript的流行趋势已经势不可挡,衍生的AngularJs,Node.js,BootStrmp中小企业的 ...

  10. 洛谷 P1272 解题报告

    P1272 重建道路 题目描述 一场可怕的地震后,人们用\(N\)个牲口棚\((1≤N≤150\),编号\(1..N\))重建了农夫\(John\)的牧场.由于人们没有时间建设多余的道路,所以现在从一 ...