/*
final(最终、修饰符)
final关键字的用法:
1.final关键字修饰一个基本类型的变量时,该变量不能重新赋值,第一次的值为最终值。
2.final关键字修饰一个引用类型变量时,该变量不能重新指向新的对象
3.final关键字修饰一个函数的时候,该函数不能被重新.
4.final关键字修饰一个类的时候,该类不能被继承。
常量的修饰符一般为: public static final
每个方法要运行的时候,jvm都会为该方法开辟一片内存空间是属于这个方法的
方法中形参也是属于该方法的局部变量
不同方法的局部变量是相互独立的,没有任何关系
*/
class Circle
{
double r;//半径
public static final double pi=3.14;//固定不变的
public Circle(double r){
this.r = r;
}
//计算面积
public final void getArea(){
System.out.println("圆的面积是:"+r*r*pi);
}
}
class Demo2 extends Circle
{
public Demo2(double r){
super(r);
}
public static void main(String[] args)
{
/*
Circle c= new Circle(4.0);
//c = new Circle(5.0);//c变量又重新指向了新的对象
test(c);//传递的是变量存储的值
*/
Demo2 c= new Demo2(4.0);
c.getArea();
}
public void getArea(){
System.out.println("哈哈哈,我是圆,你猜猜我的面积?");
}
public static void test(Circle c){
c = new Circle(5.0);//c变量又重新指向了新的对象
c.getArea();
}
}
final(最终、修饰符)
final关键字的用法:
1.final关键字修饰一个基本类型的变量时,该变量不能重新赋值,第一次的值为最终值。
2.final关键字修饰一个引用类型变量时,该变量不能重新指向新的对象
3.final关键字修饰一个函数的时候,该函数不能被重新.
4.final关键字修饰一个类的时候,该类不能被继承。
常量的修饰符一般为: public static final
每个方法要运行的时候,jvm都会为该方法开辟一片内存空间是属于这个方法的
方法中形参也是属于该方法的局部变量
不同方法的局部变量是相互独立的,没有任何关系
*/
class Circle
{
double r;//半径
public static final double pi=3.14;//固定不变的
public Circle(double r){
this.r = r;
}
//计算面积
public final void getArea(){
System.out.println("圆的面积是:"+r*r*pi);
}
}
class Demo2 extends Circle
{
public Demo2(double r){
super(r);
}
public static void main(String[] args)
{
/*
Circle c= new Circle(4.0);
//c = new Circle(5.0);//c变量又重新指向了新的对象
test(c);//传递的是变量存储的值
*/
Demo2 c= new Demo2(4.0);
c.getArea();
}
public void getArea(){
System.out.println("哈哈哈,我是圆,你猜猜我的面积?");
}
public static void test(Circle c){
c = new Circle(5.0);//c变量又重新指向了新的对象
c.getArea();
}
}