`
剑锋无刃
  • 浏览: 32004 次
  • 性别: Icon_minigender_1
  • 来自: 长沙市
最近访客 更多访客>>
社区版块
存档分类
最新评论

关键字

    博客分类:
  • java
阅读更多

 

修饰符static: 把对象相关的变成类相关的,它可以修饰属性、方法、代码块和内部类

static修饰属性(类变量):

那么这个属性就可以用" 类名.属性名 "来访问,也就是使这个属性成为本类的类变量,为本类对象所共享。

类加载的过程,类本身也是保存在文件中(字节码文件保存着类的信息)的,java会通过I/O流把类的文件读入JVM(java虚拟机),这个过程称为类的加载。JVM会通过类路径(CLASSPATH)来找字节码文件。需要的时候才会进行类加载,生成对象时是先加载后构造

类变量,会在加载时自动初始化,初始化规则和实例变量相同。

注意:

类中的实例变量是在创建对象时被初始化的

static修饰的属性,是在类加载时被创建并进行初始化,类加载的过程只进行一次,也就是类变量只会被创建一次。

static修饰方法(静态方法):

会使这个方法成为整个类所公有的方法,可以用" 类名.方法名 "访问。

static修饰的方法,不能直接访问本类中的非静态成员,但本类的非静态方法可以访问本类的静态成员。

在静态方法中不能出现this关键字。

父类中是静态方法,子类中不能覆盖为非静态方法,在符合覆盖规则的前提下,在父子类中,父类中的静态方法可以被子类中的静态方法覆盖,但是没有多态。(在使用对象调用静态方法时其实是调用编译时类型的静态方法)

java中的main方法必须写成static的原因:在类加载时无法创建对象,而静态方法可以不通过对象调用,所以在类加载时就可以通过main方法入口来运行程序。

static修饰初始代码块:

这时这个初始代码块就叫做静态初始代码块,这个代码块只在类加载时被执行一次。

可以用静态初始代码块初始化一个类。

动态初始代码块,写在类体中的“{}”,这个代码块是在生成对象时运行,这种代码块叫动态初始代码块。

单例设计模式:

一个类只允许有一个对象,保证所有引用的对象都是同一个对象。

因为只允许存在一个对象,则不允许在外面直接new出新的对象,所以应该把构造器设为private,。

在类内定义一个公开的静态方法,让使用者进行调用,通过该方法去获得一个实例。

例:

public calss Singleton{

private static Singleton s;

private Singleton(){}

public static Singleton newInstance(){

if ( s == null)

s = new Singleton();

return s;

}

}

修饰符final:不允许改变,可以修饰变量、方法、类

final修饰变量:

被fianl修饰的变量就会变成常量,一旦赋值不能改变

常量可以在初始化时直接赋值,也可以在构造方法里赋值,只能在这两种方法里二选一,不能不为常量赋值

常量不会有默认初始值

锁定栈,使栈中的数据不可以改变

静态常量只能在初始化时直接赋值

final修饰方法:

被final修饰的方法将不能被其子类覆盖,保持方法的稳定不能被覆盖

final修饰类:

被final修饰的类将不能被继承

final类中的方法也都是final的

注意:

final不能用来修饰构造方法

访问权限控制:

private:

本类内部可以访问

不能继承到子类

default:

本类内部可以访问,同包其他类也可以访问。

同包可继承

protected:

本类内部可以访问,不同包的子类也可以访问,同包其他类也可以访问。

能继承到子类

public:

任何地方都可以访问  

能继承到子类

分享到:
评论

相关推荐

    web关键字分析工具

    web关键字分析工具,顾名思义,就是一款针方便实用的关键字分析查找工具,可查找提供的关键字相关100个关键字来,并且显示热门度,以及最近用户关注度,历史用户关注度等等...并且以图表的方式显示出来,更大程度的方便了...

    textarea,textbox高亮关键字

    最近开发的时候做了textarea 高亮关键字,尝试过很多方法,比如用iframe,和编辑器替换,当然这也是一个方法,但是原来是用textbox的内容要达到兼容这两种方法是做不到的,所以这里是使用jquery插件和jquery核心文件搞的...

    MySQL 5.7中的关键字与保留字详解

    MySQL和Oracle的关键字还是不尽相同的,在Oracle数据库中,我们的数据表中定义了大量的code字段用来表示主键,但是在MySQL中code是关键字,使用以前的处理方法就有些“水土不服”。 下面我们来了解一下MySQL中的...

    部分关键字过滤,防止用户使用一些不合理的名称注册

    尤其是如果网站已经有了一定规模,用户输入功能已经遍及各处,而急需对所有输入进行关键字过滤时,上述做法更可谓“远水解不了近渴”。这时候,如果有一个通用的办法,呼得一下为整站的输入加上了一道屏障,那该是一...

    利用Hash技术统计C源程序中关键字的频度

    扫描一个C源程序,用Hash表存储该程序中出现的关键字,并统计该程序中的关键字出现的度。用线性探测法解决Hash冲突。设Hash函数为:Hash(Key)=[(Key的首字母序号)*100+(Key的尾字母序号)] Mod 41。关键字39个,参考...

    多关键字排序课程设计C源代码

    多关键字的排序有一定的使用范围。例如:在进行高考分数处理时,除了需要对总分进行排序外。不同的专业单科分数的要求不同,因此尚需在总分相同的情况下,按用户提出的单科分数的次序要求排除考生录取的次序。这是我...

    高效关键字过滤java源码

    最近项目中要用到关键字过滤,就参考网上的算法自己写了个关键字过滤的java代码,思路如下: 将关键词的第1个字作为hashMap的索引,第2个字放到另一个hashMap中,并让第1个字的索引指向这个hashMap 过滤关键字的...

    js关键字总结 js关键字总结

    js关键字总结js关键字总结js关键字总结js关键字总结js关键字总结 js关键字总结

    非法关键字非法关键字

    非法关键字 非法关键字非法关键字非法关键字非法关键字

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

    关键字驱动测试框架的研究,为了挣点积分才上传的关键字驱动测试框架的研究,为了挣点积分才上传的关键字驱动测试框架的研究,为了挣点积分才上传的

    abap破解访问关键字

    abap破解访问关键字,有需要的朋友可以下载看下

    SikuliLibrary库关键字列表

    SikuliLibrary库是图形自动化测试过程中重要的库,文件中包含了库完整的关键字列表

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

    winform超级文本框richtextbox控件关键字变色,关键字只需在xml文件里修改即可

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

    C语言关键字的收集描述,中文解释了C语言的关键字,简单明了

    数据结构实验报告--多关键字排序.doc

    直接插入排序,希尔排序,简单选择排序,冒泡排序,快速排序,堆排序,归并排序主要通过某种策略移动,选择或交换关键字来实现,关键字选择上,为了简便起见,都是整形数据。关键字间的比较,也都是直观的大小比较。...

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

    java实现根据关键字查找文件夹里面的包含关键字的文件

    数据结构课程设计——多关键字排序.docx

    数据结构——多关键字排序 问题描述:多关键字的排序有其一定的实用范围。例如:在进行高考分数处理时,除了需对总分进行排序外,不同的专业对单科分数的要求不同,因此尚需在总分相同的情况下,按用户提出的单科...

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

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

    快查关键字排名工具 v7.0

    快查关键字排名工具一键快速查询站长收录情况,关键字排名,批量查询。只需输入要查询的网站点击自动采集词,查询关键字里就会采集到该站的全部关键字。点击开始查询即可完成操作!如有软件问题可到官网提出支持保存...

    在全表中搜索关键字.sql

    更改sq语句中的关键字,快速检索全局所包含关键字的内容及内容位置。

Global site tag (gtag.js) - Google Analytics