技术总结中应当加入相应的代码分析,这样使得自己的总结更具说服性,也能说明自己的学习不是在鹦鹉学舌,而是真正掌握了方法。
—胡@总
一、访问限定符
public 可以在同一个工程中被任意调用
protected 可以在同一个包下被任意调用,可以被继承使用
默认(default) 可以在同一个包下被任意调用,不可以被继承使用
private 只可以在同一类下调用
1. 我们在平时用的时候,用的范围越小越好,这样可以提高安全性
private String sname;
public String snume;
如上所示,定义成private就只能在本类中使用,这样避免了使得在包中其他类调用时变量名时改变其值出错的概率
2. 子类在重写父类的方法时,不能够减小父类的可见范围,可以放大或者保持其范围。这个问题直接从代码上看就好了
publicclass A {
publicvoid print1(){
System.out.println("子类重写父类方法可以缩小访问符的范围");
}
publicvoid print2(){
System.out.println("子类重写父类方法不可可以缩小访问符的范围");
}
}
publicclass B extends A {
privatevoid print1(){//这个地方报错“不能降低自 A 继承的方法的可视性”
super.print1();
}
publicvoid print2(){
super.print2();
}
}
所以,得以证明!!
<!--[if !supportLists]-->3. <!--[endif]-->接口中的属性和方法都是public的,不写的话默认是public;抽象类中申明为abstract的方法,也默认是public的。
二、this的用法
1.代表一个对象,这个对象是这个类实例化后的对象
2.在同一个类中调用属性或者方法事什么也没写,可以看作是省略了this
publicclass A {
private String sname;
privateintsnum;
public A(String name,int num){
sname=name;
snum =num;
}实现情况如上所示,程序没有报错,证明构造函数传入的数据赋给了sname和snum
3.可以用在构造方法中调用自己的另外一个构造方法
代码演示如下:
publicclass A {
private String name;
privateintnum;
public A(){
this("张三",123);
}
public A(int num){
this("张三",num);
}
public A(String name,int num){
this.name=name;
this.num =num;
}
Eclipse没有报错,说明是可以滴!!
三、super 的用法
1、表示当前的父类对象 用在子类里中的(object里不能用super)
2、调用父类的构造方法 构造方法没有重写和继承
实例化子类时,一定会先调用父类的无参构造方法,再调用自己的方法,自己的方法将原来的覆盖了,这里的覆盖是指
“把父类的构造方法中的内容引过来了(相当于来了一个super();),然后再执行子类自己的语句”
这里我们看代码示例:
publicclass A {
publicfinalintt=10;
public A(){
System.out.print("A");
}
}
publicclass B extends A {
public B(){
// super();
System.out.print("B");
}
publicstaticvoid main(String args[]){
B b = new B();
}
}
运行的结果如下
AB
由运行结果证明了确实是这个样子的!!
四、final 的用法
不可更改的 可以定义类,属性,方法,变量
public final classA{} 不能被继承,断子绝孙
public final int age==10; (变量只能赋一次值)
public final void test(); 不能被重写
final int age==10; 属性 只能赋一次值
final也可以修饰形参: 不能修改所指向的地址 地址不能变,但是地址里面的值可以变
public void change(final A a){
a.setName("默认")
}
在匿名内部类中调用外部类的局部变量和全局变量时,必须要用final标记被调用的变量
五、static的用法
静态关键字可以用来修饰属性与方法。static的意思是我在类被实例化的过程中是最先会在内存中留下static修饰的属性或者方法的一片空间的。它使得所有对象都具有某一相同的属性或者方法的都指向这个地址,这样减少了内存空间的占用。
在这里要注意了,属性这个东西以前自己的理解太狭隘了,它并不只是指用八种基本数据类型和String关键字定义的变量,它还包含自己创建的类申明下的变量名。
静态方法和静态属性可以直接被类名调用,而非静态的方法和属性必须要通过对象进行调用。
因为static属性的这一特定,所以在定义属性时,是否为static一定慎重考虑:static属性可以直接在任何方法中调用,但在static方法中,则只能直接调用static属性;非static属性,就必须通过创建对象时调用。
程序加载过程中:首先是加载静态块和静态属性,然后是主函数,最后是静态方法
静态属性,创建对象的时候就刷新一次
2012.7.13左右
相关推荐
RF常用关键字汇总.xlsx
### RobotFramework常用关键字详解 **RobotFramework** 是一款强大的自动化测试框架,支持多种语言和工具的集成,使得自动化测试变得更加灵活高效。本文旨在详细介绍由 **Builtin** 库提供的若干常用关键字及其应用...
C++常用关键字详解 C++是一种功能强大且灵活的编程语言,它提供了一些常用的关键字来帮助开发者更方便地编写程序。这些关键字可以分为多种类别,如变量修饰符、流程控制、函数修饰符、访问修饰符等。下面,我们将...
C#常用关键字及含义 C#语言中有一些基本关键字,理解这些关键字对编写高效、可靠的C#程序至关重要。下面是C#语言中一些常用的关键字及其含义: 1. abstract:标识一个可以扩展但不能被实体化的类或方法。 在C#中...
### SQL 常用关键字解析 #### 一、DISTINCT - 实现去重查询 `DISTINCT` 是一个非常实用的关键字,它可以帮助我们在查询结果中去除重复的记录,只保留唯一的值。例如: ``` SELECT DISTINCT column_name FROM table_...
【嵌入式,C语言常用关键字 - extern】 在C语言中,`extern`关键字是一个非常重要的组成部分,尤其在处理多文件项目时。它用于声明在其他文件或同一个文件的外部定义的变量或函数,以便在当前文件中可以访问它们。...
java中常用关键字总结
SQL常用关键字 最新 .sql
"C#常用关键字及含义" C#是一种现代的高级语言,它提供了很多种关键字来实现不同的功能。这些关键字可以分为以下几类:类型关键字、控制流关键字、异常处理关键字、类和对象关键字、访问修饰符关键字等。 类型...
#### 一、SQL Server 2021 常用关键字概述 SQL Server 2021 提供了丰富的关键字来帮助用户创建、管理数据库以及执行各种数据操作任务。这些关键字大致可以分为三类:主要关键字、辅助关键字和函数类关键字。 #####...
以下是对SQL Server常用关键字、数据类型和常用语法的详细说明: 1. **主要关键字**: - `CREATE`:用于创建数据库、表、视图等数据库对象。 - `ALTER`:用于修改已存在的数据库对象,如添加或修改表的列。 - `...
oracle关键字,一些常用关键字
Java 常用关键字
SQL常用的关键字 SQL(Structured Query Language)是关系型数据库管理系统的标准语言,用于管理关系型数据库。SQL语言中包含了多种关键字,掌握这些关键字是编写高效SQL语句的基础。下面将详细介绍常用的SQL关键字...
C语言中常用的几个关键字 在C语言中,有一些关键字经常被使用,它们可以改变变量、函数和指针的行为。今天我们将探讨四个常用的关键字:static、const、volatile和typedef。 static static关键字有多种用法,下面...
在SQL Server中,掌握一些常用的关键字对于进行有效的数据库管理和操作至关重要。本文将根据提供的标题、描述、标签以及部分内容,详细解析与SQL Server相关的几个重要概念及其用法,包括`TRUNCATE TABLE`、`ALTER ...