`
中南大宝
  • 浏览: 34238 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

常用关键字

 
阅读更多

       技术总结中应当加入相应的代码分析,这样使得自己的总结更具说服性,也能说明自己的学习不是在鹦鹉学舌,而是真正掌握了方法。                                              

—胡@总

一、访问限定符

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;

     }实现情况如上所示,程序没有报错,证明构造函数传入的数据赋给了snamesnum

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左右

0
1
分享到:
评论

相关推荐

    RF常用关键字汇总.xlsx

    RF常用关键字汇总.xlsx

    RobotFramework常用关键字

    ### RobotFramework常用关键字详解 **RobotFramework** 是一款强大的自动化测试框架,支持多种语言和工具的集成,使得自动化测试变得更加灵活高效。本文旨在详细介绍由 **Builtin** 库提供的若干常用关键字及其应用...

    C++ 常用关键字

    C++常用关键字详解 C++是一种功能强大且灵活的编程语言,它提供了一些常用的关键字来帮助开发者更方便地编写程序。这些关键字可以分为多种类别,如变量修饰符、流程控制、函数修饰符、访问修饰符等。下面,我们将...

    1C#常用关键字及含义[归类].pdf

    C#常用关键字及含义 C#语言中有一些基本关键字,理解这些关键字对编写高效、可靠的C#程序至关重要。下面是C#语言中一些常用的关键字及其含义: 1. abstract:标识一个可以扩展但不能被实体化的类或方法。 在C#中...

    SQL 常用关键字解析

    ### SQL 常用关键字解析 #### 一、DISTINCT - 实现去重查询 `DISTINCT` 是一个非常实用的关键字,它可以帮助我们在查询结果中去除重复的记录,只保留唯一的值。例如: ``` SELECT DISTINCT column_name FROM table_...

    嵌入式,c语言常用关键字

    【嵌入式,C语言常用关键字 - extern】 在C语言中,`extern`关键字是一个非常重要的组成部分,尤其在处理多文件项目时。它用于声明在其他文件或同一个文件的外部定义的变量或函数,以便在当前文件中可以访问它们。...

    vc++常用关键字解析和用法

    ### VC++常用关键字解析与应用 #### asm:内联汇编 `asm`关键字用于在C++代码中插入内联汇编指令,允许开发者直接控制底层硬件或优化关键部分的性能。例如: ```cpp asm("your assembly code here"); ``` 这种特性...

    java中常用关键字总结.docx

    java中常用关键字总结

    SQL常用关键字 最新 .sql

    SQL常用关键字 最新 .sql

    C#常用关键字及含义.doc

    "C#常用关键字及含义" C#是一种现代的高级语言,它提供了很多种关键字来实现不同的功能。这些关键字可以分为以下几类:类型关键字、控制流关键字、异常处理关键字、类和对象关键字、访问修饰符关键字等。 类型...

    SQL-Server常用关键字、数据类型和常用语法.docx

    #### 一、SQL Server 2021 常用关键字概述 SQL Server 2021 提供了丰富的关键字来帮助用户创建、管理数据库以及执行各种数据操作任务。这些关键字大致可以分为三类:主要关键字、辅助关键字和函数类关键字。 #####...

    SQLServer常用关键字、数据类型和常用语法.doc

    以下是对SQL Server常用关键字、数据类型和常用语法的详细说明: 1. **主要关键字**: - `CREATE`:用于创建数据库、表、视图等数据库对象。 - `ALTER`:用于修改已存在的数据库对象,如添加或修改表的列。 - `...

    oracle常用关键字

    oracle关键字,一些常用关键字

    Java 常用关键字

    Java 常用关键字

    SQL常用的关键字

    SQL常用的关键字 SQL(Structured Query Language)是关系型数据库管理系统的标准语言,用于管理关系型数据库。SQL语言中包含了多种关键字,掌握这些关键字是编写高效SQL语句的基础。下面将详细介绍常用的SQL关键字...

    c语言中常用的几个关键字

    C语言中常用的几个关键字 在C语言中,有一些关键字经常被使用,它们可以改变变量、函数和指针的行为。今天我们将探讨四个常用的关键字:static、const、volatile和typedef。 static static关键字有多种用法,下面...

    基于 sql server的常用关键字

    在SQL Server中,掌握一些常用的关键字对于进行有效的数据库管理和操作至关重要。本文将根据提供的标题、描述、标签以及部分内容,详细解析与SQL Server相关的几个重要概念及其用法,包括`TRUNCATE TABLE`、`ALTER ...

Global site tag (gtag.js) - Google Analytics