您的位置:首页 > 编程语言 > Java开发

Java学习笔记_17_static、final、abst修饰符

2014-05-14 23:11 232 查看
17.static、final、abst修饰符:

1>static修饰的变量叫做静态变量:

· 类中的静态变量属于类,而不属于某个特定的对象。

· 类的静态成员可以与类的名称一起使用,而不需要创建类的对象。

· 整个类中静态变量的副本只有一个。

· 声明为static的变量实质上就是全局变量。

2>static修饰的方法叫做静态方法,也叫做类方法:

· 静态方法只能访问其它的静态方法,不能访问非静态的方法。

· 静态方法中没有this关键字。

· 静态方法不能覆盖(重写)为非静态的方法。

3>静态代码块:

语法:

static{//静态代码块

}

注意事项:

· 如果需要通过计算来初始化静态变量,可以声明一个静态块。

· 静态块在该类中只被加载时执行一次。

· 只能初始化类的静态数据成员。

public class StaticTest {
static int[] values = new int[10];
static {
for (int i = 0; i < values.length; i++) {
values[i] = i;
}
}
}


4>单态设计模式:

单态设计模式:

采取一定的方法保证在整个如见系统中,某个类只能存在一个对

象示例,并且该类只能提供一个取得其对象示例的方法。

方法1:(推荐使用更安全)

public class TestSingle {
// 前面加上private static final修饰符后只能产生一个对象
private static final TestSingle onlyOne = new TestSingle();

private TestSingle() {
// 不能再类的外部使用new,但可以在类的内部使用
}

// 外面只能通过方法调用获得一个对象
public static TestSingle getTestSingle() {
return onlyOne;
}
}


方法二:

public class TestSingle {

private static TestSingle onlyOne = null;

public static synchronized TestSingle getonlyOne() {
if (onlyOne == null) {
onlyOne = new TestSingle();
}
return onlyOne;
}
}


5>final修饰符:

· final修饰的类不能被子类继承。

· 使用final修饰的方法不能被子类覆盖。

· 类中一个final修饰的方法只被修饰一次。

· 如果一个类为final类,那么它的所有方法都为隐士的final方法。

· 一个变量可以声明为final,这样可以阻止它的内容被修改。

· 声明final变量以后,变量只能被初始化一次,然后就不能被就改了。

· 一个final变量实际上是一个常量。

6>abstract修饰符:

· 修饰的类即为抽象类,不能被示例话。

· 构造方法和static方法不是抽象的。

· 父类的抽象方法往往在子类中实现,抽象类可以具有指向子类的对

象引用。

· 抽象类的方法可以是具体方法,也可以是抽象方法。但一个类中如

果有抽象方法那么这个类一定是抽象类,应该在该类前加上abstract

关键字来修饰。

abstract class Shape {//抽象类
public double length;
public double width;

public Shape(double length, double width) {
this.length = length;
this.width = width;
}
//抽象方法
public abstract double area();
}

class Rectangle extends Shape {
Rectangle(double num, double num1) {
super(num, num1);
}
//实现父类的抽象方法
public double area() {
return length * width / 2;
}
}

public class TestShape {
public static void main(String[] args) {
Shape sp = new Rectangle(4, 2);
System.out.println(sp.area());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: