java基础讲解10-----类的高级特性
一.final关键字
1.final关键字修饰变量,表示变量不可以被改变,如果想修改,编译器不会接受的。 注意:final关键字定义的变量必须赋值
public static final 修饰 白送和i全局常量 定义时,必须赋值、(常用)
2.final修饰方法 这个方法不能被重写
可以防止子类修改该类的定义与实现方式
3.final修饰类 这个类不能被继承
一个类不让任何类继承,并且不让其他人对这个类进行任何改动
二:内部类
1.什么事内部类
就是再类中,再定义一个类,内部类分为,成员内部类,局部内部类,匿名内部类
2.什么是成员内部类
在一个类中使用内部类,可以再内部类中 直接存取 所在类的所有私有成员,就是说,内部类,可以随意使用外部类的成员方法,成员变量
内部类对象与外部类对象关系紧密,内外可以交互使用,彼此类中定义的变量
可以使用this关键字获取内部类与外部类
注意; 再内存中,所有的对象是放在堆中的,方法和方法中的形参,或者局部变量 是放在栈中的
3.什么是局部内部类
内部类不仅仅可以放在类中定义,还可以再类的局部位置定义,如 在类中的方法或者任意的作用域中 都可以定义为内部类
4.什么是匿名内部类
在一个方法中,将return语句和内部类定义语句合并在一起
return new B()
{
//内部类实体
}
例子 :
interface BB(){};
public class AA()
{
public BB doit()
{
return new BB()
{
private num=0;
public int getValue(){return num}; //再java编译的时候,doit方法内部 会先返回一个BB的引用,然后return语句中插入一个定义内部类的代码,这个类是没有名称的
//作用: 这种内部类的作用就是创建一个实现与BB接口的匿名类的对象
}
}
}
注:匿名内部类编译以后,会产生 “外部类名$序号”为名称的 .class文件,序号一 1 到 n 排序,分别表示1到n个 匿名内部类
5。什么是静态的内部类
就是在内部类的前面加一个static ,一个静态内部类中可以声明static成员,但是非静态内部类中不可以声明静态成员。用的比较少
- 基础加强____【Java高级特性__反射】
- Java高级特性(基础)
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(7)-- 流程控制语句
- Java高手真经. 编程基础卷:Java核心编程技术:Java基础+核心库+图形+网络+高级特性
- 黑马程序员_java基础笔记(10)...JDK1.5的新特性
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(5)-- 运算符
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(1)-- 变量
- JAVA基础高级特性
- java基础高级特性
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(3)-- 基本数据类型的默认值
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(4)-- 变量和数组
- Java基础(七)面向对象高级特性
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(2)-- 变量和常用数据类型
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识
- 黑马程序员——JAVA基础之JDK1.5新特性高级for循环和可变参数
- java基础整理5--面向对象的高级特性
- 黑马程序员_java基础笔记(10)...JDK1.5的新特性
- javaSE_8系列博客——Java语言的特性(二)--高级语言的基础知识(6)-- 表达式、语句、块
- Java JDK-1.5高级特性
- [零基础学JAVA]Java SE面向对象部分-17.面向对象高级(05) 推荐