Java基础知识——final关键字

final 除了修饰常量,在java中还有4种
1、 final 关键字修饰属性
基本数据型:表示属性的值不能改变,是常量。
引用数据类型:表示对象不能改变。对象的值可以变。

必须初始化:1、声明的同时初始化 2、构造方法中初始化。

class Person
{
	String name;
	int age;
	Person(){}
	Person(String name,int age)
	{
		this.name=name;
		this.age=age;
	}
 public void showInfo()
	{
	  System.out.println("姓名:"+this.name+" ,年龄"+this.age);;
  }
}
class FinalDemo
{
	final int NUM=100;//声明的同时初始化,且常量都大写。
	final int CALL;
	final Person p;
	FinalDemo()
	{
		this.CALL=50;//构造方法中初始化。
		this.p=new Person("张三丰",20);
	}
  public static void main(String args)
	{
	  FinalDemo f=new FinalDemo();
	  f.NUM=50;//错误,final修饰的不能改变。
	  f.p.name="张无忌";  //对的,改变对象的值,对象没变
	  f.p.showInfo();
	  f.p=new Person("郭美美",21)//这个是错误的,改变了指向的对象
  }
 
}
2、 final 关键字修饰方法
表示方法不能被重写。子类中不能重写了。

public class Animal
{
  public final void sleep()//final 修饰方法,方法不能被引用
	{
	  System.out.println("动物子啊睡觉...ZZZ");
  }
}
class Fish extends Animal
{
	/*不能被重写
   public final void sleep()
	{
    System.out.println("鱼在水里睡觉...ZZZ");
   }
   */
   public static void main(String[] args)
	{

   }
}
3、 final 关键字修饰类
不能被继承,是最终类。哪些类用作final类的。
写的类稳定,完善,不需要扩展的时候可以final。
public final class Animal //final修饰类,该类不能继承。
{
  public final void sleep()
	{
	  System.out.println("动物子啊睡觉...ZZZ");
  }
}
class Fish extends Animal //不能继承Animal类
{
   public static void main(String[] args)
	{

   }
}
4、 final 关键字修饰形参
基本数据类型:值不能改变
引用数据类型:对象的值能改变,但对象不能改变
class Person
{
	String name;
	int age;
	Person(){}
	Person(String name,int age)
	{
		this.name=name;
		this.age=age;
	}
 public void showInfo()
	{
	  System.out.println("姓名:"+this.name+" ,年龄"+this.age);;
  }
}
class FinalDemo
{
	final int NUM=100;//声明的同时初始化,且常量都大写。
	final int CALL;
	final Person p;
	FinalDemo()
	{
		this.CALL=50;//构造方法中初始化。
		this.p=new Person("张三丰",20);
	}
public void change(final Person p)
	{
	p.name="范师兄";
	//p=new Person("张三丰",20);p对象不能重新赋值,即对象不可以改变。
	//对象的值可以改变。
}
  public static void main(String args)
	{
	  FinalDemo f=new FinalDemo();
	  Person p=new Person("张飞",23);
	  f.chang(p);
	  p.showInfo();
  }
 
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值