黑马程序员——final关键字和static关键字

------- android培训java培训、期待与您交流! ----------

1.final有最终的意思,是java中的一个修饰符,它可以修饰非抽象类、非抽象类成员方法和变量。 

final类不能被继承,没有子类,final类中的方法默认是final的。

final方法不能被子类的方法覆盖。

final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 

final不能用于修饰构造方法。

父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。

final class Demo
{
public static final double PI = 3.14;//final修饰成员变量
final void show1(){}//final修饰成员方法
void show2()
{
final int y = 4;//final修饰局部变量
System.out.println(PI);
}
}

//class SubDemo extends Demo{}Demo类被final修饰不能被继承

class FinalDemo 
{
public static void main(String[] args) 
{
System.out.println("final");
}
//void show1(){}  被final修饰的成员方法不能被复写
}

       2.static:静态的意思,是一个修饰符,用于修饰成员(成员变量,成员函数)。当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用:类名.静态成员。

static特点:

(1)随着类的加载而加载。也就说:静态会随着类的消失而消失。说明它的生命周期最长。

(2)优先于的对象存在。明确一点:静态是先存在,对象是后存在的。

(3)被所有对象所共享。

(4)可以直接被类名所调用。

静态使用注意事项:
(1)静态方法只能访问静态成员,非静态方法既可以访问静态也可以访问非静态。
(2)静态方法中不可以定义this,super关键字。
因为静态优先于对象存在,所以静态方法中不可以出现this,super。
(3)主函数是静态的。

class Person
{
String name;//成员变量,实例变量
static String country = "CN";//静态的成员变量,类变量
public static void show()//静态方法
{
System.out.println(".......");
//this.haha();静态方法不可以出现this关键字
}
public void haha()
{}
}

class  StaticDemo
{
public static void main(String[] args) 
{
Person p = new Person();
p.name = "zhangsan";
p.show();
System.out.println(p.country);
System.out.println(Person.country);//类名调用静态成员变量
Person.show();//类名调用静态方法
}
}

------- android培训java培训、期待与您交流! ----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值