this、static关键字(静态变量、方法、代码块)| 单例模式
来源:互联网 发布:java api中文版下载 编辑:程序博客网 时间:2024/05/22 11:38
一、this关键字
①可以明确访问一个类的成员变量,解决与局部变量名称冲突的问题
int age;public Person (int age ){ this.age=age;//this.age 代表第一个age;age代表第二个age}
②可以通过this关键字调用成员方法,在方法中调用一个方法的时候,可以不写this
③构造方法不能像其他方法一眼在程序中被调用,但是可以使用this关键字,在一个构造方法中调用其他构造方法。
//调用无参this();//调用有参this("参数");
使用this调用构造方法应该注意
①只能在构造方法中使用,不能再成员方法中使用
②使用this调用构造方法的语句必须位于第一行,只能出现一次
③不能在一个类的两个构造方法中使用this相互调用
二、static关键字
静态变量 :
只有一份,却可以被一个类的所有变量共享。例如一个学校被很多学生共享。
被static修饰的变量叫静态变量,可以使用“类名.变量名”的形式来访问
因为static是被共享的,所以只能修饰成员变量,不能修饰局部变量
class Student{ static String schoolName;}public class Test01{ public static void main (String [] args){ Student stu1=new Student(); Student stu2=new Student(); Student.schoolName="哈佛大学"; System.out.println("我的学校是"+stu1.schoolName); System.out.println("我的学校是"+stu2.schoolName); }}
静态方法:
static修饰的方法是静态方法,可以不创建对象直接调用的。
同静态变量一样,静态方法也是 类名.方法名,也可以通过类的实例对象来访问
注意:静态方法只可以访问static修饰的成员,因为没有被修饰的成员需要先创建对象才能访问,而静态方法在被调用时可以不创建任何对象。
静态代码块:
被static修饰的代码块成为静态代码块,当类加载时,代码块会被执行,由于类只加载一次,因此静态代码块只执行一次,因此常用静态代码快对类的成员变量进行初始化
static{ //静态代码块}
静态代码块如果写在main方法前面,则会先于main方法执行。
四、单例模式
class Single{ //自己创建一个对象 private static Single INSTANCE=new Single(); private Single(){};//私有化构造方法 public static Single getInstance(){ return INSTANCE; }}class Tset02{ public static void main (String [] args){ Single s1=Single.getInstance(); Single s2=Single.getInstance(); System.out.println(s1==s2); }}//结果是true 说明两次调用getInstance方法获得的是同一个对象,而getInstance是获得Single类实例得到唯一途径,因此Single类是一个单例的类。
单例模式还有一种写法
class Single{ private Single(){} public static final Single INSTANCE=new Single();}
阅读全文
0 0
- this、static关键字(静态变量、方法、代码块)| 单例模式
- Java学习日记(三)面向对象、类、封装、构造函数、this、static、静态代码块、单例设计模式
- static变量 静态方法 静态代码块
- static关键字,静态变量,静态方法,静态代码块,静态导入
- 黑马程序员-静态(变量、方法、代码块)和单例设计模式总结
- 构造函数,this关键字,及静态方法,静态变量成员变量,静态代码块,构造代码块的问题
- 关于this和super关键字为什么不能再static方法中或者静态代码块中
- 封装、构造方法、构造代码块、this关键字、static关键字
- static关键字,main函数,帮助文档的制作,静态代码块,对象的初始化过程,单例设计模式
- Static静态变量,静态方法,静态代码块
- static静态变量,静态方法和静态代码块
- JAVA_DAY06(static/javadoc/静态代码块/对象初始化/单例模式)
- static关键字、静态代码块
- 静态代码块-static关键字
- java中静态代码块、静态方法、static关键字详解
- 面向对象基础续2(static关键字、理解main方法、代码块、构造方法私有化(单例模式)) .
- this关键字、static关键字、代码块
- 第十二讲 static关键字修饰属性和方法、代码块、单例设计模式、对象数组案例
- angularjs Controller之间的通信
- hdu 多校联赛 Rikka with Graph
- delegate的使用
- 滑动窗口
- javaweb的登录验证过滤器的实现
- this、static关键字(静态变量、方法、代码块)| 单例模式
- eclipse java/jee oxygen 下载
- OpenCV学习笔记(3)——Scalar数据类型理解
- Js_Dom(2)__Dom基础<方法(重点)>
- android性能测试封装工具----ctrace4android,附性能测试的3个例子
- QFile::write 写文件会变大的问题
- Final cut pro x& motion5 & compressor破解下载地址
- 如何使用RedisTemplate访问Redis数据结构
- python中文乱码的解决方法