Java中的匿名对象、内部类、包、代码块

匿名对象:

概念:

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

特点:

①、创建匿名对象直接使用,没有变量名。

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

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

内部类:

概念:

  定义在其他类的内部的类就叫内部类,其他的类被称为外部类。在内部类中可以直接访问外部类的所有成员。

分类:

  成员内部类、局部内部类。

成员内部类:  

  成员内部类,定义在外部类中的成员位置。

class 外部类 { 
    修饰符 class 内部类 {
        //其他代码
}
}

访问方式:

外部类名.内部类名 变量名 = new 外部类名().new 内部类名();

就近原则。

局部内部类:

局部内部类,定义在外部类方法中的局部位置。

class 外部类 { 
    修饰符 返回值类型 方法名(参数) {
               class 内部类 {
//其他代码
              }
         }
}

匿名内部类:

new 父类或接口(){
    //进行方法重写
};

 包:

概念:

java的包,其实就是我们电脑系统中的文件夹,包里存放的是类文件。

java.util 只能使用一次

导包:

import 包名.类名;

访问修饰符:

  public protected Default private
同一类中
同一包中(子类与无关类)  
不同包的子类    
不同包中的无关类      

代码块:

静态代码块只执行一次。----只在类加载的时候执行一次!!!不管NEW多少次都执行一次!再创建新对象就不执行了!!!

构造代码块优先于构造方法(创建对象的时候执行)

public class Person {
 
 public Person(){
  System.out.println("构造方法");
 }
 //构造代码块
  {
   System.out.println("构造代码块");
  }
 //静态代码块
 static{
  System.out.println("静态代码块");
 }
}
public static void main(String[] args) {
        new Person();
        new Person();
    }

执行结果:

静态代码块
构造代码块
构造方法
构造代码块
构造方法

posted on 2020-05-05 10:49  嘿抬头i  阅读(253)  评论(0编辑  收藏  举报