以下是我们在写Java程序时需要注意的一些关键字,我们平时使用时需要多加注意。
1.访问限定符
对变量、方法、类的区域进行限制的关键词。
以下4种访问限定符按范围是:从大到小
1).public
区域:在同一个程序中可以在任意地方访问
2).protected
区域:在同一个包中和同一个类,以及不同包中的子类中可以访问
3).默认不写
区域:能在同一个包中和同一个类中被访问
4).private
区域:只能在同一类中被访问
/** * 人类类 * @author liuqingjian * */ public class person { public String name; protected String num; String add; private int age; } public class younger { public static void main(String[] args) { person a=new person(); a.name="张三"; a.num="123456"; a.add="长沙"; //a.age=15;//错误,The field person.age is not visible这个属性不可见。就是超出作用范围 } }
2.变量
1).类变量
类是由拥有共同点的所有对象组成的的集合。类变量就是所有对象的共同属性。
范围:能在同一个类中使用。
2).成员变量
在类中定义的变量。就是描述类的外貌特征、身份信息等等。
范围:能在同一个类中使用。
3).参数变量
只存在于成员方法变量,利于对象之间的信息交互。
范围:只能在同一个成员方法中使用。
4).局部变量
只存在于某一块的变量,只有在这一块才可以使用,出了这一块不能使用。
范围:在程序中的直观方式,在一对大括号之间定义,就只能在一对大括号之间使用。
注意:在同一个类中,类变量和属性变量不能同名
同一个方法中的参数变量和局部变量不能同名
同一个类中的参数变量/局部变量是可以和类变量/属性变量同名的
3.this:用在构造方法和方法中
1).this.属性名:用来表示当前对象的属性
this.方法名:用来表示对当前对象的方法的调用
2).this(参数列表):用来调用当前对象的构造方法
用法:用在构造方法的第一行,表示当前类的某一个构造方法
具体的哪一个构造方法取决于this后面的参数列表
/** * 人类类 * @author liuqingjian * */ public class person { public String name; private String add; private int age; public person(){ //this(参数列表) this("张三","长沙"); //this.方法名 this.set(); } public person(String name,String add){ //this.属性名 this.name=name; this.add=add; } public void set(){ System.out.println(this.name+"住在"+this.add); } } /** * 主类 * @author liuqingjian * */ public class Demo { public static void main(String[] args) { person a = new person(); person b = new person("李四","张家界"); } }
4.super:用在子类的构造方法中
1).super.属性名;或者 super.方法名();
在子类中,用来表示当前类的父类对象,用来在子类中调用父类的方法
2).不写,默认为super();
3).super(参数列表);
用法:在子类的构造方法中调用父类的某一个构造方法
具体是哪一个由super后面的参数列表确定
/** * 人类类 * @author liuqingjian * */ public class person { public String name; protected String add; private int age; public person(){ //this(参数列表) this("张三","长沙"); //this.方法名 this.set(); } public person(String name,String add){ //this.属性名 this.name=name; this.add=add; } public void set(){ System.out.println(this.name+"住在"+this.add); } } /** * 年轻人类 * @author Administrator * */ public class younger extends person { public younger(){ //super(参数列表) super(); } public void set(){ //super.方法名() super.set(); //super.属性名 System.out.println(super.name+"现在正在"+super.add); } } /** * 主类 * @author liuqingjian * */ public class Demo { public static void main(String[] args) { younger a = new younger(); } }
5.final:最终的,不可更改的
可以用来修饰类、方法、变量
用法:
1、final修饰类 表示这个类不能被继承
格式:public final class 类名{}
/** * 人类类 * @author liuqingjian * */ public final class person { public String name; protected String add; private int age; public person(){ //this(参数列表) this("张三","长沙"); //this.方法名 this.set(); } public person(String name,String add){ //this.属性名 this.name=name; this.add=add; } public void set(){ System.out.println(this.name+"住在"+this.add); } }
错误: The type younger cannot subclass the final class person<!--StartFragment -->
younger 类不能继承final class person类
2、final修饰方法 表示这个方法不能被重写[覆盖]
格式:访问限定符 final 返回值类型方法名(参数列表){}
/** *父类中 */ public final void set(){ System.out.println(this.name+"住在"+this.add); } /** *子类中 */ public void set(){ //super.方法名() super.set(); //super.属性名 System.out.println(super.name+"现在正在"+super.add); }
错误:Cannot override the final method from person
来自person的方法不能被重写
3、final修饰变量 表示这个变量不能被修改,仅且必须且只能赋值一次
格式:
1.修饰类、属性、局部变量:访问限定符 final 变量类型 变量名;
2.修饰参数变量:final 变量类型 变量名;
public final String name; public person(final String name,String add){ //this.属性名 this.name=name; this.add=add; }
6.static:静态的
可以用来修饰类 属性 方法
1、static属性类属性:当前类所有的对象共用的同一个属性变量
类属性格式:访问限定符 static 变量类型 变量名;
可以通过对象或者类名调用
2、static 方法是类方法:当前类所有的对象共用的同一个方法
类方法格式:访问限定符 static 返回值类型 方法名(参数列表){}
注意:类方法中不能使用this和super
public static void set(){ //super.方法名() super.set(); //super.属性名 System.out.println(super.name+"现在正在"+super.add); }
类方法是调用父类还是子类重写的,只和类名有关
成员方法:成员方法是调用父类还是子类重写的,只和对象本身有关
/** * 人类类 * @author liuqingjian * */ public class person { public final String name; protected String add; private int age; public person(){ //this(参数列表) this("张三","长沙"); //this.方法名 this.set(); } public person(final String name,String add){ //this.属性名 this.name=name; this.add=add; } public void set(){ System.out.println(this.name+"住在"+this.add); } } /** * 年轻人类 * @author Administrator * */ public class younger extends person { public younger(){ //super(参数列表) super(); } public void set(){ //super.方法名() super.set(); //super.属性名 System.out.println(super.name+"现在正在"+super.add); } } /** * 主类 * @author liuqingjian * */ public class Demo { public static void main(String[] args) { younger MN = new younger(); person bb = new younger(); bb.set(); } }
输出:
static方法中不能直接调用非静态的属性和方法
static的属性和方法是不需要对象调用的
类名.方法名();
3、static代码块[]
执行顺序:
1、静态代码块/静态变量【两者按照前后顺序】
静态代码块、静态变量作用:初始化数据
2、主函数
3、创建对象时,非静态代码块/非静态变量【两者按照前后顺序】
非静态代码块、非静态变量作用:初始化对象的数据
/** * 主类 * * @author liuqingjian * */ public class Demo { //非静态变量 public A a = new A(); //静态变量 public static B b = new B(); // { } //静态代码块 static{ System.out.println("DDDDD"); } //非静态代码块 public static void set(int n) { System.out.println("n=" + n); } public static void main(String[] args) { Demo MN = new Demo(); MN.set(65); } }
结果:
相关推荐
LS-DYNA关键字说明 LS-DYNA是 Livermore Software Technology(LST)公司开发的一款有限元分析软件,主要用于模拟和分析结构、热、流体、冲击、爆炸等领域的动力学行为。该软件广泛应用于汽车、航空航天、国防、...
例如,`MESH`关键字用于定义几何模型,`MAT`系列关键字用于定义材料特性,`LOAD`关键字用于施加外部载荷,`BC`关键字用于设定边界条件等。 3. **材料模型**:LS-DYNA支持多种复杂的材料模型,如弹性、塑性、粘塑性...
IAR的一些扩展关键字 在深入探讨IAR Systems的嵌入式开发工具中,特别是针对C51编程语言的环境,了解其扩展关键字对于优化代码、提高程序效率以及更好地利用硬件资源至关重要。这些关键字超越了标准C语言的范畴,...
在本篇文章中,我们将深入探讨C语言中的关键字及其用法。C语言作为一种广泛使用的编程语言,在软件开发领域占据着极其重要的地位。理解并熟练掌握C语言的关键字是学习该语言的基础,也是成为一名合格程序员的...
它的语法简洁而强大,包含了一系列的关键字,这些关键字是C语言的核心组成部分,用于定义程序的结构和控制流程。本项目聚焦于“统计C语言关键字频度”,旨在帮助开发者理解和分析C语言源代码中的关键字使用情况。 ...
然而,原始的`RichTextBox`控件并不支持自定义关键字高亮,即无法自动将特定的关键字变色。为了实现这一功能,开发者通常需要借助一些额外的编程技巧或第三方库。本文将详细介绍如何利用`RichTextBox`控件结合XML...
### 关键字驱动测试框架的研究 #### 摘要与背景 随着软件开发周期的加快以及市场需求的变化,软件测试已成为确保软件质量不可或缺的一部分。在这一背景下,自动化测试因其能够提高测试效率、降低人工成本的优势而...
在Unix系统中,搜索含有特定关键字的文件是一项基础但至关重要的任务。这使得用户能够快速定位到包含所需信息的文件,提高工作效率。Unix提供了一系列强大的命令行工具来帮助用户完成这项工作,其中最常用的是`grep`...
在计算机科学和编程领域,多关键字排序是一种处理数据集合的重要技术,它允许我们根据不止一个属性或关键字对数据进行排序。这种排序方法广泛应用于数据库、数据分析、信息检索等多个场景,帮助用户更有效地查找和...
本篇文章将深入探讨如何使用iText库在Java中实现PDF关键字定位。iText是一个强大的PDF处理库,它提供了丰富的API来创建、编辑和读取PDF文档。 首先,我们需要在项目中引入iText库。你提到的`itextpdf-5.5.6.jar`是...
- **关键词匹配**:接着,程序会将输入的关键字与提取的文本进行比较,找出包含关键字的文件。 - **排序与过滤**:如果多个文件包含同一关键字,可以根据关键字出现的频率对结果进行排序;同时,可以设置过滤条件...
SQL关键字是编写查询、更新、删除和管理数据库结构的基础,它们有着严格的语法规定,其中大小写的规范就是其中之一。在某些情况下,为了代码的可读性和一致性,我们可能需要将SQL语句中的关键字转换为大写。针对这一...
这个功能的主要目标是在网页上显示一段文本,并允许用户输入关键词进行搜索,搜索到的关键字将在文本中以红色加粗的方式突出显示。 首先,我们需要搭建开发环境。在这个例子中,我们使用的环境是Windows 7操作系统...
在Java编程语言中,关键字是预定义的、具有特殊含义的词汇,它们是构成程序语法结构的基础元素。这篇关于“源码关键字统计”的主题旨在分析Java源代码文件,并计算其中出现的关键字数量。这个任务涉及到文件读取、...
本文将深入探讨ABAP的关键字查询帮助,为初学者提供一个清晰的入门指南。 首先,理解ABAP的基本语法是至关重要的。ABAP的语法结构与许多其他编程语言相似,例如C或PASCAL,但它具有自己独特的特性。在ABAP中,...
标识符、关键字、常量、变量、运算符在编程语言中的应用 在编程语言中,标识符、关键字、常量、变量、运算符都是基本的概念,它们在编程语言的设计和实现中扮演着非常重要的角色。 一、标识符 标识符是指在编程...
《批量搜索Word关键字程序V1.4版:高效查找与数据整理工具》 批量搜索Word关键字的程序V1.4版是一款专为IT从业人员和研究人员设计的实用工具,旨在提高工作效率,快速定位文档中的关键信息。它允许用户指定一个特定...
这些字段可以是数值型、字符串型或者其他类型,排序时通常按照优先级顺序进行,即第一个关键字优先,当第一个关键字相同时,再比较第二个关键字,以此类推。 二、常见的多关键字排序算法 1. **直接选择排序**:首先...
标题《LS-DYNA关键字手册》透露了文档的核心内容,即介绍和解释LS-DYNA软件中使用的关键字(keywords)的具体作用。关键字是LS-DYNA这款用于有限元分析(Finite Element Analysis, FEA)以及多体动力学仿真(Multi-...
### C++关键字详解 在C++编程语言中,关键字具有特定的语法意义,它们由编译器识别并赋予特殊含义。下面将详细介绍一系列C++的关键字及其用途。 #### asm(汇编指令) - **功能**:`asm`关键字用于嵌入汇编代码到...