内部类(静态内部类、成员内部类、局部内部类、匿名内部类)(2)

news/2024/7/8 6:08:10

局部内部类

局部内部类
局部内部类是定义在一个类种的方法中的类。
定义在方法中的类,就是局部类,如果一个方法只考虑在一个类中适应,就可以考虑使用局部内部类

package innerclass;
//定义了一个局部内部类
//定义在方法中的类,就是局部类,如果一个方法只考虑在一个类中适应,就可以考虑使用局部内部类
public class Out3 {

	private static int a;
	private int b;
	public void test(final int c) {
		final int d = 1;
		class inner {
			public void print() {
				System.out.println(a);
				System.out.println(c);
				System.out.println("小白小白,小白的程序员");
			}
		}
	}
}

①局部内部类可以不加public、protected、private访问修饰符,因为局部内部类就是只在一个方法中使用的。
②只能在当前定义局部内部类的方法中可以通过局部内部类的对象使用内部类中的成员,通过类可以使用静态。
下面在看一个局部内部类的例子

package innerclass;
//定义了一个People类
public class People {

	public People(){
		
	}	
}
//定义了一个Man类
class Man{
	public Man() {
		
	}
	//在Manlei中有一个方法,在方法中定义了一个类,这个类就是局部内部类。
	public People Woman() {
		class Woman extends People{
			int age = 0;
		} 
		return  new Woman();
	}
}

③局部内部类相当于方法中的局部变量,在其他类中或者该类的其他方法都不能访问改局部内部类。
④不可以在局部内部类中使用可变的局部变量。



http://www.niftyadmin.cn/n/2434445.html

相关文章

字符串匹配(java)

字符串匹配 字符串匹配可以用到蛮力法。 对于字符串s和t,若t是s的子串,返回t在s中的位置(t的首字符在s中的下标),否则返回-1. 采用的是穷举法,从s的第一个字符开始查找,看t是否会出现。 下面直…

内部类(匿名内部类)(3)

匿名内部类 匿名内部类,就是一个没有名字的内部类,前提是匿名内部类一定是一个局部内部类。因为匿名内部类没有名字,所以在java中药使用匿名内部类他就必须基于接口或者继承,让大家知道他的父类时谁才能使用。 匿名内部类的格式 …

让 Python 更加充分的使用 Sqlite3

我最近在涉及大量数据处理的项目中频繁使用 sqlite3。我最初的尝试根本不涉及任何数据库,所有的数据都将保存在内存中,包括字典查找、迭代和条件等查询。这很好,但可以放入内存的只有那么多,并且将数据从磁盘重新生成或加载到内存…

Oracle纯SQL实现递归查询分页(树查询分页)

查遍了Google、Baidu,都没有结果,可能是关键词不对。只好发挥自己的想象力,对,想象力,终于实现了。 需求是:根节点有N级子节点,显示从根节点到该子节点的所有父子节点。说白了,pageS…

Java反射(1)

Java反射 Java反射机制是运行状态中,对于任意一个类都能够知道这个类的所有属性和方法(包括私有的);对于任意一个对象,都能够调用他的任意方法和属性;这种动态动态获取信息及动态调用对象方法的功能称为功能…

【定制化图像开放平台】入门实例之手写数字模型训练

为什么80%的码农都做不了架构师?>>> 本帖主要用手写数字为例进行一个简单入门实例总结(非官方) 平台网站:http://ai.baidu.com/customize/app/model/ 定制化图像开放平台使用教程之一:http://ai.baidu.com/forum/topic/show/492760定制化图像开放平台使用…

泛型新手心得

泛型 是JDK1.5版本后出现的新特性&#xff0c;是一个类型安全机制。 优势 1.将运行时出现的ClassCastException转移到编译时期&#xff0c;方便程序员解决问题&#xff0c;让运行时问题减少&#xff0c;更安全。 2.避免了强制转换的麻烦。 ArraryList<String> al new Ar…

python小游戏(剪刀石头布)

#!/usr/bin/python#-- coding: utf8--import random #导入随机数的模块 computer random.choice([石头, 剪刀, 布])player raw_input(请出拳(石头/剪刀/布): ) print "Your choice: %s, Computers choice: %s" % (player, computer)if player 石头:if computer 石…