- 浏览: 13934 次
- 性别:
最新评论
一、final关键字
final在java中表示的意思是最终,也可以称为完结器。可以使用final关键字声明类属性方法,在声明是需注意以下几点:
1)使用final声明的类不能有子类;
2)使用final声明的方法不能被子类所覆写;
3)使用final声明的变量即成为常量,常量不可以修改。
使用final声明的类不能有子类
使用final修饰的方法不能被子类覆写
被final修饰的变量即成为常量,常量不可以修改
二、static关键字
static是为静态的意思,也可称为全局。如果现在有些属性希望杯所有的对象共享,则就必须将其声明为static属性,而且一个属性使用了static关键字声明之后,可以直接使用类名称进行调用。如果一个鳄梨中的方法想由类调用,则可以声明为static方法。
1)用static声明的属性成为全局属性(也叫静态属性);
2)用static声明的方法有事被称为“类方法”,可以有类名称直接调用,且静态方法中用到的属性必须都是静态属性;
使用static声明属性
运行结果为:
下面同过一组图解来说明static声明的属性:
a)属性city未改变前
b) 属性city未改变后
以上程序已经基本完成了修改功能,如我们所知一个类中的公共属性现在由一个对象修改,这样是不合适的。类的公共属性应该由类进行修改是最合适的,因为我们不知道一个类中到底有多少个对象产生。所以在访问static属性时最好可以由类名直接调用,那么有事也就把使用static声明的属性称为类属性。
类属性调用的格式:类名称.static 属性名;上面的代码就可以改为:Person.city="SH"
使用static声明方法
运行结果为:
在以上程序中,Person类将所有的属性都进行封装,所以想要设置属性就必须使用setter()方法,但是这里的方法是使用static声明的,所以可以直接使用类名称调用。
特别要提的是,飞static生命的方法可以调用static声明的属性或方法。但是static声明的方法是不能调用非static类型声明的属性或方法。
使用static声明的方法调用非static方法和属性(错误代码)
final在java中表示的意思是最终,也可以称为完结器。可以使用final关键字声明类属性方法,在声明是需注意以下几点:
1)使用final声明的类不能有子类;
2)使用final声明的方法不能被子类所覆写;
3)使用final声明的变量即成为常量,常量不可以修改。
使用final声明的类不能有子类
//使用final定义类,不能被继承 final class Student{ } //错误,不能继承使用final声明的类 class Unstudent extends Student{ }
使用final修饰的方法不能被子类覆写
class Student{ //使用final定义的方法不能被覆写 public final void print(){ System.out.print("执行了"); } } class Unstudent extends Student{ //错误,不能覆写用final声明的方法 public final void print(){ System.out.print("成功了"); } }
被final修饰的变量即成为常量,常量不可以修改
calss Student{ //使用final声明的变量就是常量 private final String name="张三"; public void print(){ //错误,常量不能被修改 name="李斯" } }
二、static关键字
static是为静态的意思,也可称为全局。如果现在有些属性希望杯所有的对象共享,则就必须将其声明为static属性,而且一个属性使用了static关键字声明之后,可以直接使用类名称进行调用。如果一个鳄梨中的方法想由类调用,则可以声明为static方法。
1)用static声明的属性成为全局属性(也叫静态属性);
2)用static声明的方法有事被称为“类方法”,可以有类名称直接调用,且静态方法中用到的属性必须都是静态属性;
使用static声明属性
class Person { String name; int age; //用static修饰属性变量,则为常量 static String city="BJ"; //构造器传参 public Person(String name,int age){ this.name=name; this.age=age; } public void info(){ System.out.println("姓名:"+this.name+",年龄:"+this.age+",城市:"+city); } }; public class People{ public static void main(String args[]){ //实例化对象 Person p1=new Person("张三",25); Person p2=new Person("李斯",30); Person p3=new Person("王五",35); System.out.println("***********修改前*********"); p1.info(); p2.info(); p3.info(); System.out.println("***********修改后*********"); //重新给属性city赋值 p1.city="SH"; p1.info(); p2.info(); p3.info(); } }
运行结果为:
下面同过一组图解来说明static声明的属性:
a)属性city未改变前
b) 属性city未改变后
以上程序已经基本完成了修改功能,如我们所知一个类中的公共属性现在由一个对象修改,这样是不合适的。类的公共属性应该由类进行修改是最合适的,因为我们不知道一个类中到底有多少个对象产生。所以在访问static属性时最好可以由类名直接调用,那么有事也就把使用static声明的属性称为类属性。
类属性调用的格式:类名称.static 属性名;上面的代码就可以改为:Person.city="SH"
使用static声明方法
class Person { //对所有的属性进行封装 private String name; private int age; private static String city="BJ"; public Person(String name,int age){ this.name=name; this.age=age; } public void info(){ System.out.println("姓名:"+this.name+",年龄:"+this.age+",城市:"+city); } //使用static声明方法 public static void setcity(String c) { city=c; } public static String getCity(){ return city; } }; public class People{ public static void main(String args[]){ Person p1=new Person("张三",25); Person p2=new Person("李斯",30); Person p3=new Person("王五",35); System.out.println("***********修改前*********"); p1.info(); p2.info(); p3.info(); System.out.println("***********修改后*********"); //直接使用类名称调用 Person.setcity("SH"); p1.info(); p2.info(); p3.info(); } }
运行结果为:
在以上程序中,Person类将所有的属性都进行封装,所以想要设置属性就必须使用setter()方法,但是这里的方法是使用static声明的,所以可以直接使用类名称调用。
特别要提的是,飞static生命的方法可以调用static声明的属性或方法。但是static声明的方法是不能调用非static类型声明的属性或方法。
使用static声明的方法调用非static方法和属性(错误代码)
class Person{ private static string city="BJ"; private String name="张三"; public static void sPrint(){ //打印属性name(此处错误,不能调用非static属性) System.out.println("name="+name); //调用方法print(此处错误,不能调用非static方法) print(); } public void print(){ System.out.println("成功了"); } }
发表评论
-
线程的同步通信与线程范围内的数据共享问题
2013-10-02 22:05 1348线程的同步通信与线程范围内的数据共享问题一、线程的同步通信 什 ... -
多线程初谈——线程的创建与互斥问题
2013-10-01 18:13 1439多线程初谈——线程的创建与互斥 对于线程起初也很是不 ... -
网络通信见解之谈
2013-07-17 13:38 658一、网络通信的基本原理 现如今,出现了各式各样的聊天平 ... -
简单的bmp文件打开与保存
2013-07-01 22:24 916简单的bmp文件打开与保 ... -
分形浅谈——科赫曲线和L-System
2013-06-24 22:47 1260分形浅谈开始接触到分行图时,感觉很难,无法下手,只能做出第一层 ... -
对关键字的理解——访问权限
2013-05-10 16:17 627关键字public、pr ... -
队列的定义及运用
2013-03-23 14:58 728队列简称队,是限制在表的一端进行插入操作,而在表的另一端进行删 ... -
重绘方法的重写利用
2013-03-22 21:44 649重绘是为了在画布上保留原始痕迹的一种方法,他的目的是用来保存你 ... -
数组的定义及递归的运用
2013-03-22 21:43 1056一、数组有一维数组、 ... -
监听器与变量的作用域
2013-03-22 21:41 736监听器是用来实现一些可控操作的工具,如你在打开一个QQ界面的时 ... -
java中的继承
2013-03-08 00:31 588Java中的接口 什么是接口?不是以class定义的类而是以i ... -
Java中类的继承、重写、自动转型以及多态
2013-03-06 01:13 748Java中类的继承、重写、自动转型以及多态 1) 类的继承 在 ... -
java的构造器方法、方法重载和引用传递
2013-03-04 23:55 765Java的构造器方法、方法重载与引用传递 一、 构造器方法 构 ... -
JAVA语言中的类与对象
2013-03-04 00:08 763Java语 ...
相关推荐
Java中的`final`和`static`关键字是编程中非常重要的两个修饰符,它们分别用于不同的场景,以确保代码的稳定性和高效性。 首先,`final`关键字主要用于表示不可变性。它可以用来修饰类、方法和变量。对于类,如果一...
在Java编程语言中,`final`和`static`是两个非常重要的关键字,它们分别用于定义不同类型的特性。下面我们将深入探讨这两个关键字的含义和用法。 首先,`final`关键字在Java中具有三个主要用途:修饰类、方法和变量...
通常,这类常量数据都是基本类型的数据,并赋予关键字final,同时在对此常量定义时需要进行赋值。 值得注意的是:对于基本类型,使用final关键字将使数值恒定不变;而对于对象引用,final则是使引用恒定不变。...
理解并正确使用final和static关键字对于编写高效、可维护的Java代码至关重要。它们可以帮助我们创建不可变对象,防止意外的修改,提高性能,以及在类的生命周期内只执行一次的代码。在设计类和接口时,明智地使用...
Java中的`final`关键字是一个非常重要的修饰符,用于在...理解并恰当使用`final`关键字有助于提高代码的可维护性、安全性和性能。在编写不可变对象、定义常量以及防止意外的代码修改时,`final`都是不可或缺的工具。
深入理解 `final` 关键字可以帮助开发者写出更加安全、高效的代码。 首先,`final` 关键字可以用于声明变量。当一个变量被声明为 `final` 时,它的值一旦被赋值后就不能再改变。这适用于成员变量、局部变量以及静态...
在这个学习demo中,我们将深入理解`final`关键字的各种用法及其背后的原理。 首先,`final`关键字用于变量。当一个变量被声明为`final`时,它的值一旦被初始化后就不能再改变。这适用于局部变量、成员变量(包括...
在Java编程语言中,`final`关键字扮演着非常重要的角色,它有多种用途,用于创建不可改变的对象、变量和类。下面将详细讲解`final`关键字的五种主要使用方式。 1. **常量(Final Variables)** `final`关键字可以...
在Java编程语言中,`final`与`static`是两个非常关键且常用的关键字,它们各自具有独特的功能和用途,可以极大地增强代码的稳定性和可维护性。下面将详细解析这两个关键字的用法及其在Java中的重要性。 ### 一、`...
在Java编程语言中,`final` 和 `static` 是两个非常重要的关键字,它们分别具有不同的含义和用法,但都对代码的结构和行为产生深远影响。本文将深入探讨这两个关键字,并结合实际示例来解释它们的应用场景。 首先,...
Java编程中的`static`关键字和`final`关键字是两个非常重要的概念,它们分别代表不同的特性。首先,我们来看`static`关键字。 `static`关键字用于声明静态变量和静态方法。静态变量,也称为类变量,属于类本身而...
总结,static、this、super和final是Java编程中非常重要的关键字。static用于声明静态成员,使它们可以在类实例化之前访问;this关键字代表当前对象实例;super用于访问父类的成员;final则用于创建不可变的变量、...
Java中的`final`关键字是一个非常重要的概念,它用于在...理解`final`关键字有助于编写更加安全、高效和易于维护的Java代码。通过合理地使用`final`,可以防止意外的修改,增强代码的清晰度,并为性能优化提供可能性。
以下是对`final`关键字在不同场景下使用的详细介绍: 1. **final变量** - `final`修饰的局部变量一旦初始化后,就不能再改变其值。这有助于防止意外修改,增加代码的可预测性和安全性。 - 类级(静态)常量通常也...
`final`与`static`是两个经常被提及的关键字,它们之间的区别在于: - **Static**:主要用于声明类成员(变量或方法),表明这些成员属于类本身而非实例。这意味着无论创建了多少个类的实例,这些静态成员都只有一...
- `final`修饰变量时,如果是类级别的常量,通常遵循全大写命名约定,如`public static final String MY_CONSTANT = "value"`。 2. **抽象类(Abstract Class)** - 抽象类是一种包含抽象方法的类,抽象方法只有...
Java中的关键字this、...总的来说,Java的`this`、`final`、`super`以及相关概念如`implements`、`static`和`instanceof`都是面向对象编程中的关键要素,理解和掌握它们能够帮助开发者编写出更加高效、可维护的代码。
Java中的`final`关键字是一种非常重要的修饰符,它用于创建不可变的对象或阻止...理解并恰当使用`final`关键字,有助于编写出更安全、可维护的代码。在实际编程中,应根据需求合理地应用`final`,以提升代码质量。
Java编程语言中的`final`, `static`, 和 `abstract` 是三个非常重要的关键字,它们分别用于定义不同的特性。接下来,我们将详细探讨这些关键字的作用及其应用场景。 ### 抽象类(abstract) 1. **定义**:当一个类...
### final关键字在Java中的应用与理解 #### 一、final关键字概述 `final`关键字是Java语言中的一个重要特性,主要用于定义不可变的对象、方法或变量等。通过使用`final`关键字,开发人员能够确保某些实体在初始化...