`

关键字

    博客分类:
  • Java
阅读更多

包括:

基本数据类型 byte char int short long boolean float double

流程控制 if else switch case for do while break return goto

修饰符 public private protected(访问修饰符) class interface abstract this super static final

 

1. public protected private 默认访问权限的区别:

public 一个程序中不同的包均可访问,只需引包

private 只能在同一个类中被访问

protected 只能在同一个包中被访问 但是可使用继承来访问,比如大学生类继承了学生类,则大学生对象可以直接调用学生类中的protected方法.

如果需要用并且不继承,可以间接来使用

(public 去调用包中的protected,再通过调用public间接调用)

默认的访问权限  介于 privateprotected之间   只能在同一个包中被访问    不可使用继承来访问

尽量写成私有的,通过公有的方法调用属性.

 

2. this的用法

 

a. 可以解决属性和局部变量同名而无法赋值的问题(有歧义的时候必须使用只能用在一个非静态方法之中,指调用当前方法的对象

 

private int n;
public void setNum(int n){
		n=n;//无法正常赋值
		this.n=n;//可以正常赋值, 此时this指对象
}
		
private int n;
public void setNum(int m){
		n=m;//可以正常赋值
}

 b. 在构造方法中使用,调用某一个构造方法,自动匹配

 

 

public Student(){
	this("这个this调用本类的某一个构造方法,根据你在括号里面传入的数据来调用");//调用了第二个构造方法,在一个构造方法中调用一个构造方法必须写在第一行
}
	/**
	 * 例如:public Student(){
	 * 			this.("张三");
	 * 		}
	 */
public Student(String name){
	this.name=name;
}

public Student(int n){
	this.n=n;
}

 3.       superthis的差别

 

 

super调用的是当前类父类的构造方法或对象.子类创建对象必须调用父类的无参构造方法,如果父类没有,则必须重写子类的构造方法.

 

 

//此为默认的
public Ustudent(){
super();
}
//如果父类没有无参构造方法,则调用这个重写的方法
//public Ustudent(){
//    super("取");
//}

 

 

 

4. final的使用

 

final 可以修饰 ,属性,方法,局部变量

 

类不能被继承

 

属性,局部变量的值只能赋值一次,不可修改

 

方法不能被重写

 

 

 5. static的使用

 

static 可以修饰 ,属性,方法,代码块

 

把属性写成静态的,意味着该属性变成共享的,所有对象均可改变,值也是同时改变

 

可经过类名直接调用,不用经过对象.例如:student.name=”张三”;其中name值是静态的,正因为可以直接通过类名调用,所以静态属性一般写成public,否则无法直接类名调用。

 

 

 

把方法写成静态的,在继承的时候,如果在创建对象时候创建为父类对象,类型为子类本身类型  student stu=new Unstudent();和本身类型已经无关了,通常使用类名直接调用。Stu调用的全部是父类student的方法,而不是Unstudent的方法,无法体现多态性

 

 

 

代码块的概念:

 

 

{
System.out.println("可任意写代码.");
}

 

 

 

 

 

或者

 

static{

 

}

 

 

 

Static代码块如果不在主类中

 

创建对象之后会自动执行主函数,再执行静态代码块,再执行非静态代码块.再执行

 

 

如果静态代码块在主函数里面,会先执行静态代码块,再执行主函数.在主类里面使用,常用来加载配置文件.

 

创建对象之前会先实例化静态属性再调用构造方法.

 

public class A{
        public A(){
        System.out.println("A");
        }
}
 
public class B extends A{
        public B(){
        System.out.println("B");
        }
}
 
public class C{
        public C(){
                System.out.println("C");
        }
 
        public static A a=new A();//静态属性.在main之前会执行
        public B b=new B();//非静态属性
        public static void main(String args[]){
                C c=new C();
                c.change();
        }
 
        public void change(){
                B b1=new B();
        }
}

 

 

 

 

先初始化静态属性a 输出A

 

然后调用main() 创建C对象  此时先初始化静态B对象,此时会输出AB(有疑问参见继承)

 

再调用C的构造方法输出C

 

c.change()   创建B对象  输出AB

 

所以结果为

 

A

 

A

 

B

 

C

 

A

 

B

 

分享到:
评论
1 楼 金R在奋斗着 2014-05-18  
  

相关推荐

    ls-dyna关键字说明

    LS-DYNA关键字说明 LS-DYNA是 Livermore Software Technology(LST)公司开发的一款有限元分析软件,主要用于模拟和分析结构、热、流体、冲击、爆炸等领域的动力学行为。该软件广泛应用于汽车、航空航天、国防、...

    R8、R11和R13版本的DYNA关键字手册

    例如,`MESH`关键字用于定义几何模型,`MAT`系列关键字用于定义材料特性,`LOAD`关键字用于施加外部载荷,`BC`关键字用于设定边界条件等。 3. **材料模型**:LS-DYNA支持多种复杂的材料模型,如弹性、塑性、粘塑性...

    IAR的一些扩展关键字

    IAR的一些扩展关键字 在深入探讨IAR Systems的嵌入式开发工具中,特别是针对C51编程语言的环境,了解其扩展关键字对于优化代码、提高程序效率以及更好地利用硬件资源至关重要。这些关键字超越了标准C语言的范畴,...

    C语言关键字 C语言关键字 C语言关键字

    在本篇文章中,我们将深入探讨C语言中的关键字及其用法。C语言作为一种广泛使用的编程语言,在软件开发领域占据着极其重要的地位。理解并熟练掌握C语言的关键字是学习该语言的基础,也是成为一名合格程序员的...

    统计C语言关键字频度

    它的语法简洁而强大,包含了一系列的关键字,这些关键字是C语言的核心组成部分,用于定义程序的结构和控制流程。本项目聚焦于“统计C语言关键字频度”,旨在帮助开发者理解和分析C语言源代码中的关键字使用情况。 ...

    winform超级文本框richtextbox控件关键字变色

    然而,原始的`RichTextBox`控件并不支持自定义关键字高亮,即无法自动将特定的关键字变色。为了实现这一功能,开发者通常需要借助一些额外的编程技巧或第三方库。本文将详细介绍如何利用`RichTextBox`控件结合XML...

    关键字驱动测试框架的研究

    ### 关键字驱动测试框架的研究 #### 摘要与背景 随着软件开发周期的加快以及市场需求的变化,软件测试已成为确保软件质量不可或缺的一部分。在这一背景下,自动化测试因其能够提高测试效率、降低人工成本的优势而...

    在Unix上搜索含有关键字的文件

    在Unix系统中,搜索含有特定关键字的文件是一项基础但至关重要的任务。这使得用户能够快速定位到包含所需信息的文件,提高工作效率。Unix提供了一系列强大的命令行工具来帮助用户完成这项工作,其中最常用的是`grep`...

    多关键字排序 多关键字排序

    在计算机科学和编程领域,多关键字排序是一种处理数据集合的重要技术,它允许我们根据不止一个属性或关键字对数据进行排序。这种排序方法广泛应用于数据库、数据分析、信息检索等多个场景,帮助用户更有效地查找和...

    java PDF关键字定位

    本篇文章将深入探讨如何使用iText库在Java中实现PDF关键字定位。iText是一个强大的PDF处理库,它提供了丰富的API来创建、编辑和读取PDF文档。 首先,我们需要在项目中引入iText库。你提到的`itextpdf-5.5.6.jar`是...

    Html文件关键字搜索

    - **关键词匹配**:接着,程序会将输入的关键字与提取的文本进行比较,找出包含关键字的文件。 - **排序与过滤**:如果多个文件包含同一关键字,可以根据关键字出现的频率对结果进行排序;同时,可以设置过滤条件...

    SQL关键字转成大写工具

    SQL关键字是编写查询、更新、删除和管理数据库结构的基础,它们有着严格的语法规定,其中大小写的规范就是其中之一。在某些情况下,为了代码的可读性和一致性,我们可能需要将SQL语句中的关键字转换为大写。针对这一...

    PHP实现查询关键字描红1

    这个功能的主要目标是在网页上显示一段文本,并允许用户输入关键词进行搜索,搜索到的关键字将在文本中以红色加粗的方式突出显示。 首先,我们需要搭建开发环境。在这个例子中,我们使用的环境是Windows 7操作系统...

    源码关键字统计.rar

    在Java编程语言中,关键字是预定义的、具有特殊含义的词汇,它们是构成程序语法结构的基础元素。这篇关于“源码关键字统计”的主题旨在分析Java源代码文件,并计算其中出现的关键字数量。这个任务涉及到文件读取、...

    abap关键字的查询帮助

    本文将深入探讨ABAP的关键字查询帮助,为初学者提供一个清晰的入门指南。 首先,理解ABAP的基本语法是至关重要的。ABAP的语法结构与许多其他编程语言相似,例如C或PASCAL,但它具有自己独特的特性。在ABAP中,...

    标识符、关键字、常量、变量、运算符标识符标识符、关键字、常量、变量、运算符、关键字、常量、变量、运算符

    标识符、关键字、常量、变量、运算符在编程语言中的应用 在编程语言中,标识符、关键字、常量、变量、运算符都是基本的概念,它们在编程语言的设计和实现中扮演着非常重要的角色。 一、标识符 标识符是指在编程...

    java实现根据关键字查找所在文件夹的文件

    在Java编程语言中,实现根据关键字查找文件夹内包含该关键字的文件是一项常见的任务,尤其在数据处理、日志分析或者文件管理系统中。这个功能可以帮助用户快速定位到含有特定信息的文件,提高工作效率。以下是一个...

    批量搜索word关键字的程序V1.4版

    《批量搜索Word关键字程序V1.4版:高效查找与数据整理工具》 批量搜索Word关键字的程序V1.4版是一款专为IT从业人员和研究人员设计的实用工具,旨在提高工作效率,快速定位文档中的关键信息。它允许用户指定一个特定...

    LS-DYNA关键字手册

    标题《LS-DYNA关键字手册》透露了文档的核心内容,即介绍和解释LS-DYNA软件中使用的关键字(keywords)的具体作用。关键字是LS-DYNA这款用于有限元分析(Finite Element Analysis, FEA)以及多体动力学仿真(Multi-...

    多关键字排序的实现

    这些字段可以是数值型、字符串型或者其他类型,排序时通常按照优先级顺序进行,即第一个关键字优先,当第一个关键字相同时,再比较第二个关键字,以此类推。 二、常见的多关键字排序算法 1. **直接选择排序**:首先...

Global site tag (gtag.js) - Google Analytics