第11章 类的高级特性--final

1、final变量

(1)final关键字可用于变量声明,一旦该变量被设定,就不可以再改变该变量的值。通常,由final定义的变量为常量。例如:final double PI=3.14;

final关键字定义的变量必须在声明时对其进行赋值操作。

被定义为final的常量定义时需要使用大写字母命名,并且中间使用下划线进行连接。

  例如:private final int VALUE_1=9;

(2)final还可以修饰对象引用

一旦一个对象引用修饰为final后,它只能恒定指向一个对象无法将其改变以指向另一个对象。

例如:private final Test test=new Test(); //声明一个final引用

private final int[] a={1,2,3,4,5,6};  //声明一个定义为final的数组,由于数组也可以被看作一个对象来引用,所以final可以修饰数组

2、final方法

final的方法不能被重写

将方法定义为final类型可以防止子类修改该类的定义与实现方式,一个定义为private的方法隐式被指定为final类型。

3、final类

定义final的类不能被继承

final类的语法如下:final 类名 ()

时间: 2024-10-07 03:47:08

第11章 类的高级特性--final的相关文章

第11章 类的高级特性--内部类

在类中再定义一个类,则将在类中再定义的那个类称为内部类: 内部类可分为成员内部类.局部内部类.匿名类 1.成员内部类 在内部类中可以随意使用外部类的成员方法以及成员变量,尽管这些类成员被修饰为private: 但内部类的成员只有在内部类的范围之内是可知的,不能被外部类使用 内部类的对象实例化操作必须在外部类 使用this关键字获取内部类与外部类的引用 public class TheSameName{ private int x; private class Inner{ private int

第11章 类的高级特性--类名冲突

类名冲突 在程序中定义了一个login类,因业务需要,还要定义一个名称为login的类,但是这两个类所实现的功能完全不同,于是问题就产生了,编译器不会允许存在同名的类文件. 解决这类问题的办法是将这两个类放置在不同的类包中.

技术篇7.0类的高级特性

类除了具有普通的特性之外,还具有一些高级特性,如包.内部类等.包在整个管理中起到了非常重要的作用,使用包可以有效地管理繁杂的类文件,解决类重名问题,当在类中配合与权限修饰符使用时,可以控制其他人对类成员的访问.同时在Java语言中一个更为有效的隐藏实现细节的技巧是使用内部类,通过使用内部类机制可以向上转型为被内部类实现的公共接口.由于在类中可以定义多个内部类,所以实现接口的方式也不止一个,只要将内部类中的方法设置为类最小范围的修饰权限即可将内部类的实现细节有效地隐藏. 抽象类 (概念)所谓抽象类

第8章 类的高级概念

1.局部变量不能加访问修饰符,成员变量可以. 2.static 的类属性,不属于对象所有,所有对象共享该属性.尽量使用类名调用类属性,而不是对象名. 3.类本身也有访问修饰符,但是类的访问修饰符只有共有的和默认(无访问修饰符)的两种.默认访问的类只能被同一包中的其他类使用. 4.封装也被称为数据隐藏. 5.类的成员变量可以成为只读或者只写的. 6.类的静态成员被称为类成员,因为静态成员与类相关,而不是类的某个实例. 7.静态成员变量和方法不能使用引用来访问,因为引用是指类的实例. 8.静态方法是

No2_5.类的高级特性_Java学习笔记_抽象类和成员内部类

一.抽象类1.所谓抽象类,只声明方法的存在而不去实现它的类:2.抽象类不能被实例化,即不能实现其对象:3.abstract class 类名{ 类体 }4.包含一个或多个抽象方法的类必须声明成抽象类:5.abstract <方法返回值类型> 方法名(参数列表) 二.内部类1.如果在一个类中再定义一个类,就将在类中定义的那个类称为内部类:2.内部类分为成员内部类,局部内部类以及匿名内部类:3.成员内部类: a.可以在内部类中直接存取其所在类的私有成员变量: b.外部类不可以直接访问内部类成员变量

七、类的高级特性

1.抽象类 抽象类:只声明方法而不去具体实现.不能被实例化创建对象. 语法:abstract class 类名{...} 抽象方法:只有方法的声明,没有方法的实现,需要子类重写. 语法:abstract <返回值类型> 方法名(参数列表) 2.内部类 (1)成员内部类 在一个类中使用内部类可以在内部类中直接存取其所在类的私有成员变量及成员方法. 内部类的实例一定要绑在外部类的实例上,如果外部类中初始化一个内部类对象,那么内部类对象就会绑定在外部类对象上,内部类初始化使用new关键字. 语法:p

类的高级特性(二)

1.局部内部类 局部内部类:在类的方法中定义 作用范围:方法内 2.匿名内部类 内部类不一定要有名字. 匿名内部类的所有实现代码都需要在大括号之间进行编写. 语法格式: return new A(){ .......//内部类体 }; A表示对象名. 3.静态内部类 内部类前加修饰符static,就是静态内部类. 特点:不可调用外部类的非静态成员. a.创建静态内部类的对象,不需要其外部类的对象. b.不能从静态内部类的对象中访问非静态外部类对象.

java程序-类的高级特性

创建Employee类,在类中定义三个属性:编号,姓名,年龄,然后在构造方法里初始化这三个属性,最后在实现接口中的定义的CompareTo方法,将对象按编号升序排列. 代码如下:(程序可能有些错误,方法是对的,见谅) import java.awt.List; import java.util.ArrayList; import java.util,Collection; import java.util,Collections; import java.util,Iterator; impor

.NET高级特性-Emit(2.2)属性

关于Emit的博客已经进入第四篇,在读本篇博文之前,我希望读者能先仔细回顾博主之前所编写的关于Emit的博文,从该篇博文开始,我们就可以真正的使用Emit,并把知识转化为实战,我也会把之前的博文链接放在下方,以方便读者阅读,大家也可以将自己的疑问或者指正写在评论当中,博主会积极进行回复. .NET高级特性-Emit(1) .NET高级特性-Emit(2)类的定义 .NET高级特性-Emit(2.1)字段 ok,今天我们继续来探索C#-Emit中关于类的知识和应用,今天我们要来探索和挖掘关于C#属