* final方法是在派生类中不能被覆盖的方法,final类是不能被覆盖的类。一个类可以含有final方法
* final类和final方法使用final声明
* 技巧:final static 类型成员变量。static使得变量只存在一个拷贝。final使得它不能改变。
* */
package mypackage; public final class FinallyTest public FinallyTest(int para) |
eg2:
package mypackage; public final class FinallyTest |
上面是两个final初始化的例子。下面我们看一下两种错误的例子
eg3
package mypackage; public final class FinallyTest Error(18,3): variable params is declared final; cannot be assigned |
eg4:
package mypackage; public final class FinallyTest
public void setParams(int b) { params=b; } public static void main(String[] args) { FinallyTest ft=new FinallyTest(); System.out.println(ft.params); } } Error(22,2): variable params is declared final; cannot be assigned |
eg5
package mypackage; public final class FinallyTest Error(10,19): variable params might not have been initialized |
3.几点说明:
在java中,普通变量系统是自动初始化的,数值变量自动初始化为0,其余类型变量自动初始化为空。但是final类型的变量必须显示初始化,且初始化的方法必须是在申明时或者在构造方法中直接赋值,而不能通过调用函数赋值。
关于构造方法重载的问题,如果程序中没有显示的说明构造方法,那么就有默认的构造方法。如果程序中显示的声明了构造方法,那么默认的构造方法就不再存在
发表评论
-
深入分析 Java 中的中文编码问题
2011-11-16 07:45 0几种常见的编码格式 ... -
Java 编码
2011-11-16 07:44 0http://zhidao.baidu.com/quest ... -
java字符编码原理解析
2011-11-16 07:43 0可以理解为计算机没 ... -
HttpClient
2011-11-03 11:07 836From http://www.blogjava.net/Al ... -
ECLIPSE ANT OutOfMemoryError
2011-08-04 17:23 1018ANT BUILD MEMORY ERROR: [cl ... -
JDBC BATCH
2011-07-05 14:58 0PreparedStatement ps = conn.pre ... -
OUT OF MEMORY WHEN BUILD
2011-02-22 17:47 01, ANT BUILD: In Eclipse op ... -
spring weblogic jndi
2011-02-16 09:18 1844weblogic:weblogic8.1 数据库:MySql ... -
log4j 邮件
2011-01-24 15:54 0<!-- 设置上下文参数 --> ... -
tomcat weblogic
2010-12-01 11:25 1868EJB 层基本搞定,以前测试 EJB 也都是写一个 appli ... -
ant weblogic “local class incompatible: stream classdesc serialVersionUI”
2010-11-29 12:41 2239weblogic.management.Management ... -
Debugging with the Maven Jetty Plugin in Eclipse
2010-11-15 17:42 1043debug: http://docs.codehaus.or ... -
maven tomcat eclipse debug
2010-11-15 17:36 1956from: http://bandaidprogrammin ... -
maven app tomcat 部署
2010-11-11 15:56 1312修改pom.xml,添加如下配置: <build ... -
Maven Cargo Tomcat 部署
2010-11-11 15:49 1774pom.xml中<build>下添加如下代码: ... -
java中读取配置文件各种方法
2010-09-07 12:31 01。使用Java.util.Properties类的load( ... -
ThreadGroup
2010-05-25 08:47 0在Java中每个线程都属于某个线程组(ThreadGroup) ... -
java Excel 导出
2010-03-28 20:06 0public void createExcel(OutputS ... -
java小数保留两位小数
2009-11-19 16:49 2341方式一: 四舍五入 double f = ... -
java中实现xml schema 验证文件
2009-11-16 20:05 3884XML 是可扩展标记语言,也就是说其中的标记我们可以按照我们 ...
相关推荐
这是因为内部类会捕获封闭作用域中的变量的副本,而`final`确保变量在内部类中不可变。 接下来,我们讨论`static`关键字。`static`主要用于表示与类相关联的成员,而不是类的实例。其主要特性包括: 1. **静态变量...
在本段内容中,我们将会讨论Java编程语言的基础知识点,包括类和对象的使用、基本数据类型、数组、方法的定义和调用等。 首先,我们来看看关于Java的类、对象以及数组的概念。Java是一种面向对象的编程语言,它的...
14. 实例变量与局部变量:实例变量是类的成员变量,静态变量在类加载时创建,局部变量在声明时必须初始化。选项C(静态变量在方法执行时创建)是错误的。 15. 构造方法调用:构造方法不能像普通方法那样被调用,...
1. **this**:在类的内部,`this`关键字引用当前对象的引用,常用于区分成员变量和局部变量,以及调用本类的其他方法。 九、final关键字 1. **final方法**:声明为`final`的方法不能被子类重写,确保行为的不可变性...
- **全局变量**:虽然 Java 没有全局变量的概念,但 `public static` 的成员变量和方法在某种程度上可以被视为全局变量和全局方法,因为它们可以在不创建类实例的情况下被任意类访问。 - **私有静态变量**:可以...
- **成员变量的默认值**:Java中,成员变量(包括实例变量和静态变量)都有默认值。对于基本数据类型的成员变量,默认值取决于类型,如int类型成员变量的默认值为0,boolean类型的默认值为false。 - **初始化成员...
- **访问限制**:只能访问定义该内部类的方法内的最终(final)局部变量。 示例代码如下所示: ```java class Outer { public void doSomething() { final int i = 10; class Inner { public void seeOuter() ...
在 Java 中,继承是一种实现复用的方式,但是它也有其局限性,例如,子类不能继承父类的 private 成员变量和成员方法。组合则提供了一种更加灵活的方式来实现复用。 六、结论 继承和复用是 Java 编程中的两个非常...
第三章的内容主要涉及到Java编程语言的高级特性,包括面向对象编程的三大特性(封装、继承和多态)、访问控制符的使用、抽象类和接口的概念,以及静态成员变量和方法的定义。本章还涉及到关键字super的使用,以及在...
static 关键字在 Java 中用于修饰成员变量和成员方法,具有以下特点: * 静态成员变量随着类的加载而加载,优先于对象的存在,被类的所有对象共享。 * 静态成员方法只能访问静态成员变量或静态成员方法。 * 静态...
在这个类内部,声明了一个`final`类型的成员变量`PI`,其值为3.14159f。这里`final`关键字表示`PI`是一个常量,其值在初始化之后不能改变。 ```java public class Const { final float PI = 3.14159f; ``` #### ...
在Java中,可以使用final关键字修饰方法参数,确保该参数在方法内部不可修改。这对于防止意外修改参数值和提高代码可读性非常有用: ```java public void useFinalParam(final int num) { num = 10; // 编译错误,...
final 关键字可以修饰类、成员变量、方法和局部变量。final 修饰类时,表示该类不能被继承;final 修饰成员变量时,表示该变量的值不能被修改;final 修饰方法时,表示该方法不能被重写;final 修饰局部变量时,表示...
### Final关键字详解 #### 一、Final的基本概念...通过上述讨论,我们可以看出`final`关键字在Java编程中的重要作用及其与其他关键字之间的区别。正确理解并使用`final`可以帮助开发者编写更加健壮和易于维护的代码。
成员变量的赋值可以在声明时完成,也可以在构造方法中完成。这为初始化提供了灵活性,同时确保了这些变量一旦赋值后不可更改。 接着,我们来讨论接口。在Java中,接口是一个引用类型,它定义了一组方法规范,但不...
9. **抽象类与接口**:Java中的抽象类可以有非抽象方法和实例变量,而接口只能包含常量和抽象方法。子类继承抽象类时必须实现所有抽象方法,而实现接口则必须提供接口中所有方法的实现。这两种方式都可以用来实现...
Java编程语言中,`final`关键字是一个非常重要的概念,它具有三个主要的使用场景:修饰类、修饰变量和修饰方法。 12.1 修饰类:当`final`关键字用于修饰一个类时,这意味着该类不能被其他类继承。这在设计不可变类...
总结一下,`static` 关键字在 Java 中扮演着关键角色,它使得我们可以无需创建对象就能访问类的成员,这对于工具方法、常量定义以及控制程序流程非常有用。理解和熟练运用 `static` 关键字是掌握 Java 基础的关键...
总结一下,Java的`this`关键字帮助我们访问和操作当前对象,继承提供了代码复用和扩展的机制,`static`关键字定义了类级别的成员,而`final`关键字则用于创建不可变的对象、防止方法覆盖和禁止继承。这些核心概念...
在类中,`final`修饰的成员变量需要在声明时或构造器中初始化,而在局部变量中,`final`同样要求立即初始化。视频教程中提到了`final`修饰成员变量和局部变量的用法,强调了它们在确保数据安全性和代码可预测性上的...