Java学习笔记_17_static、final、abst修饰符
2014-05-14 23:11
232 查看
17.static、final、abst修饰符:
1>static修饰的变量叫做静态变量:
· 类中的静态变量属于类,而不属于某个特定的对象。
· 类的静态成员可以与类的名称一起使用,而不需要创建类的对象。
· 整个类中静态变量的副本只有一个。
· 声明为static的变量实质上就是全局变量。
2>static修饰的方法叫做静态方法,也叫做类方法:
· 静态方法只能访问其它的静态方法,不能访问非静态的方法。
· 静态方法中没有this关键字。
· 静态方法不能覆盖(重写)为非静态的方法。
3>静态代码块:
语法:
static{//静态代码块
}
注意事项:
· 如果需要通过计算来初始化静态变量,可以声明一个静态块。
· 静态块在该类中只被加载时执行一次。
· 只能初始化类的静态数据成员。
4>单态设计模式:
单态设计模式:
采取一定的方法保证在整个如见系统中,某个类只能存在一个对
象示例,并且该类只能提供一个取得其对象示例的方法。
方法1:(推荐使用更安全)
方法二:
5>final修饰符:
· final修饰的类不能被子类继承。
· 使用final修饰的方法不能被子类覆盖。
· 类中一个final修饰的方法只被修饰一次。
· 如果一个类为final类,那么它的所有方法都为隐士的final方法。
· 一个变量可以声明为final,这样可以阻止它的内容被修改。
· 声明final变量以后,变量只能被初始化一次,然后就不能被就改了。
· 一个final变量实际上是一个常量。
6>abstract修饰符:
· 修饰的类即为抽象类,不能被示例话。
· 构造方法和static方法不是抽象的。
· 父类的抽象方法往往在子类中实现,抽象类可以具有指向子类的对
象引用。
· 抽象类的方法可以是具体方法,也可以是抽象方法。但一个类中如
果有抽象方法那么这个类一定是抽象类,应该在该类前加上abstract
关键字来修饰。
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()); } }
相关文章推荐
- Java之学习笔记(21)-------------final && static
- java 面向对象学习笔记——修饰词final,static,abstract
- java学习笔记7——static和final关键字
- java学习笔记(static和final关键字)
- Java面向对象学习笔记 -- 4(static、final关键字)
- java 学习笔记4-static、final
- Java基础学习笔记十 Java基础语法之final、static、匿名对象、内部类
- java基础学习笔记-static和final
- JAVA学习笔记-public、protected、private、abstract、static和final
- Java学习笔记14 static和final关键…
- java学习笔记之static,final,abstract修饰符和接口
- Java学习笔记14(面向对象七:final、static)
- java学习笔记三——package,final和static
- JAVA学习笔记2---static、new、final以及java引用的实质
- Java学习笔记之Final(Static)变量
- java学习笔记 static,final关键字学习
- Java学习笔记2016.2.18 static、final关键字
- Java与Flex学习笔记(17)---Flex+Red5实现在线视频播放
- android 学习笔记(四) 4.2 java语法中的关键关键字 final
- 静态学习笔记StaticDemo.java