代码块:
普通代码块:新建在方法中的代码叫做普通代码块
构造快:直接在类中的代码 构造快优先于构造方法执行前提是有实例化对象
静态代码块:又static声明的代码块,静态代码块优先于主方法执行 不管实例化多少个对象,静态代码块只执行一次。功能是为静态属性初始化。
public class CodeDemo4{
static{
System.out.println(“Hello Word!!!”);
System.out.println(1);//退出程序
}
}
上述程序基本上没有开发意义
单态模式:就是将类中的构造方法私有化,在通过在构造方法私有化的类中实例化,通过将静态方法返回实例化对象来使用。
内部类:如果在一个类比如Out的内部再定义一个类Int,那么Int就叫做内部类,内部类可以声明成public 或者private 等对其访问权限就类似于之前学的成员变量或者成员方法。
class Outer{ // 定义外部类
private String info = "hello world" ; // 定义外部类的私有属性
class Inner{ // 定义内部类
public void print(){ // 定义内部类的方法
System.out.println(info) ; // 直接访问外部类的私有属性
}
};
public void fun(){ // 定义外部类的方法
new Inner().print() ; // 通过内部类的实例化对象调用方法
}
};
public class InnerClassDemo01{
public static void main(String args[]){
new Outer().fun() ; // 调用外部类的fun()方法
}
};
以上程序中Inner{作为内部类存在,并且在在外部类中Outer中的fun()中直接实例化,调用print()的方法
使用内部类的方法优点:节约代码,降低难度,方便的使用外部类的属性,否则拿出来的话还要定义构造方法等来传参数。
缺点是无法在外部直接调用,更无法像外部类的形式使用
若想使用的话,必须用static声明,访问属性时 属性必须被static修饰
外部类.内部类 内部类对象= 外部类 new 内部类();
- 大小: 49.1 KB
- 大小: 18.2 KB
分享到:
相关推荐
首先,回顾面向对象的三条主线:类及其内部成员(包括属性、方法、构造器、代码块和内部类)、封装、继承和多态,以及关键字。类中的结构包括属性(变量)、方法(实现功能)、构造器(创建对象),还有代码块(初始...
内部类是Java编程语言中一个独特且强大的特性,它...正确理解和使用内部类,可以提高代码的组织性和复用性,但同时也需要注意其可能带来的内存管理和复杂性问题。在实际编程中,应根据项目需求谨慎选择是否使用内部类。
2. **局部内部类**:局部内部类只存在于某个方法、构造器或者代码块中,它的作用域仅限于该方法、构造器或代码块。下面是一个局部内部类的例子: ```java public class Test1 { public void display() { class ...
Java编程语言中的`static`, `main`方法, 代码块, `final`关键字, 接口和内部类是核心概念,对于理解和编写高效、可维护的Java程序至关重要。以下是对这些概念的详细解释: 1. **`static`关键字**: - `static`...
1. static 修饰成员变量和成员方法,以及代码块和内部类。分别叫做静态变量、静态方法、静态代码块、静态内部类。 2. 用 static 修饰的成员变量和成员方法,独立于该类的任何对象,实际上是属于类的。也就是说不...
在Java编程语言中,内部类和匿名内部类是两种特殊类型的类,它们为代码的组织和功能实现提供了独特的灵活性。本教程"Java4Android 35_内部类和匿名内部类"深入探讨了这两个概念,旨在帮助开发者更好地理解和运用它们...
"明明内部类"可能是指“匿名内部类”,它没有名字,通常用于简化代码和快速实现接口或抽象类的一个具体实例。当只需要一次性使用一个类,并且这个类只需要实现一两个方法时,匿名内部类是一个很好的选择。它可以...
* 成员变量:类或对象的属性,分为实例变量和类变量 * 实例变量:每个对象都拥有一份实例变量,通过对象.属性修改此实例变量 * 类变量:也称静态变量,用static关键词修饰,属于类的所有对象共享 二、变量的分类 *...
它们的作用域局限于定义它们的代码块,可以访问该代码块内的所有变量和参数,同样,对于局部变量,也需要满足final或等效于final的要求。 使用内部类的优点: - **封装**:内部类可以访问外部类的私有成员,提供了...
4. **匿名内部类**:没有名字的内部类,通常用于简短的、一次性使用的代码块。它们可以实现接口或继承类,并且通常用于快速创建适配器或回调对象。 在Android开发中,内部类常与接口一起使用,以实现弱耦合。例如,...
2. 局部内部类:在方法中定义的内部类,局部内部类不能有访问说明符,因为它不是外围类的一部分,但是它可以访问当前代码块内的常量,和此外围类所有的成员。 3. 静态内部类:静态内部类是指在外部类的静态成员中...
接着,局部内部类是在方法、构造器或者代码块内部定义的类。它们的作用域仅限于定义它们的块,因此它们可以用来封装局部变量。局部内部类不能声明为静态,也不能有静态成员。由于其作用域的限制,它们通常用于实现...
2. 非静态内部类不能声明静态初始化块和静态成员,除非它们是常量。 3. 如果内部类是在方法内定义的,它不能访问该方法的局部变量和参数,除非这些变量被声明为final。 匿名类是无名的类,通常用于快速创建一个只...
局部变量只在方法、构造器、代码块内部有效,没有默认初始化值,使用前必须显式赋值。 【权限修饰符】 Java有四种权限修饰符:private(私有)、default(包访问权限)、protected(受保护)和public(公共)。它们...
局部内部类定义在方法或代码块内,其作用域仅限于该方法或代码块。它们通常用于实现特定方法的功能,且只能在该方法内部使用。由于其局部性,局部内部类可以访问方法内的所有局部变量和参数,但这些变量必须是 ...
匿名内部类的生命周期更短,通常只在创建它的代码块内有效。 6. **匿名内部类的局限性** 由于匿名内部类没有名字,所以不能声明为`public`或`protected`,也不能被其他类引用。同时,如果匿名内部类访问了外部类的...
Java内部类是Java语言的一个独特特性,它允许我们在一个类的内部定义另一个类。这种设计提供了更高级别的封装和组织...通过理解和应用这些知识点,开发者能够更有效地利用Java内部类来编写结构清晰、功能丰富的代码。
代码块可以分为五种:普通块、构造块、静态块、同步块和内部类。 代码块的概念 代码块是指 Java 程序中的一段代码,它可以包括变量声明、方法调用、控制流语句等。代码块可以用于限制变量的作用范围,或者用于执行...
局部内部类在方法或其他代码块内部定义。它们只能在定义它们的方法或代码块中访问。 ##### 3.2.3 匿名内部类 匿名内部类没有名字,通常用于简化代码,特别是在创建监听器等场景中非常有用。匿名内部类是通过继承...
这也说明了静态代码块和构造代码块之间的主要区别:静态代码块随类的加载而执行,而构造代码块随对象的创建而执行。 总结起来,静态代码块和构造代码块在Java中都有着重要的作用,它们各自适用于不同的场景。理解...