![]() |
您当前所在位置:首页 > 中心动态 | >> |
常州电脑培训——单例模式、抽象类 | ![]() |
1、单例模式:在有些情况下,希望类生成的对象永远只有一个,这种模式叫单例
模式!
A、构造器私有化:不让别的类有生成该类实例的机会
B、提供私有的、静态的属性,返回该类的实例:
私有的原因是为了保护属性
静态的原因是为了保证该类的对象只有一个
C、提供共有的方法返回该类的属性
public class Person
{
/**
2、提供一个私有、静态的属性返回该类的实例!
*/
private static Person p = new Person();
/**
1、构造方法私有化
*/
private Person(){
}
/**
3、提供共有的方法对外访问该类的属性
*/
public static Person getPerson(){
return p;
}
}
2、final关键字
可以修饰:变量(属性、局部变量)、方法、类
A、final修饰类:表示类不能被继承
B、final修饰的变量是常量,表示改值不能被改变!
常量一般大写!
final修饰的属性需要在定义时赋值!final修饰的局部变量不需要在定义时赋
值,但需要在使用前赋值!
C、final修饰的方法不能被覆盖!
public class TestFinal
{
final int x = 10;
public static void main(String[] args){
final int I;
//i = 11; final的值不能被改变
I = 11;
System.out.println(I);
}
public void play(){
System.out.println("play");
}
}
class Test01 extends TestFinal
{
public void play(){
System.out.println("test01 play");
}
public static void main(String[] args){
Test01 t = new Test01();
t.play();
}
}
3、抽象类
抽象方法:只有方法的声明,没有方法的实现的方法!
抽象类:如果一个类中有一个或多个抽象方法,则该类一定要是抽象类!
抽象类的作用:定义一套编码规范!
/**
抽象类
*/
public abstract class Party
{
/**
抽象方法:只有方法的定义,没有方法的实现
*/
public abstract void sing();
public abstract void talk();
public abstract void dance();
public abstract void magic();
}
/**
实现抽象类
*/
class PartyAction extends Party
{
public void sing(){
System.out.println("sing");
}
public void talk(){
System.out.println("talk");
}
public void dance(){
System.out.println("dance");
}
public void magic(){
System.out.println("magic");
}
}