final可以修饰类,方法,变量

原创 2018年04月15日 12:50:15
/*
	final可以修饰类,方法,变量
	
	特点:
		final可以修饰类,该类不能被继承。
		final可以修饰方法,该方法不能被重写。(覆盖,复写)
		final可以修饰变量,该变量不能被重新赋值。因为这个变量其实常量。
		
	常量:
		A:字面值常量
			"hello",10,true
		B:自定义常量
			final int x = 10;
*/

//final class Fu //无法从最终Fu进行继承

class Fu {
	public int num = 10;
	public final int num2 = 20;

	/*
	public final void show() {
	
	}
	*/
}

class Zi extends Fu {
	// Zi中的show()无法覆盖Fu中的show()
	public void show() {
		num = 100;
		System.out.println(num);
		
		//无法为最终变量num2分配值
		//num2 = 200;
		System.out.println(num2);
	}
}

class FinalDemo {
	public static void main(String[] args) {
		Zi z = new Zi();
		z.show();
	}
}
/*
     重点:final修饰局部变量的问题
        基本类型:基本类型的值不能发生改变。
        引用类型:引用类型的地址值不能发生改变,但是,该对象的堆内存的值是可以改变的。
*/
class Student {
    int age = 10;
}

class FinalTest {
    public static void main(String[] args) {
        //局部变量是基本数据类型
        int x = 10;
        x = 100;
        System.out.println(x);
        final int y = 10;
        //无法为最终变量y分配值
        //y = 100;
        System.out.println(y);
        System.out.println("--------------");
        
        //局部变量是引用数据类型
        Student s = new Student();
        System.out.println(s.age);
        s.age = 100;
        System.out.println(s.age);
        System.out.println("--------------");
        
        final Student ss = new Student();
        System.out.println(ss.age);
        ss.age = 100;
        System.out.println(ss.age);
        
        //重新分配内存空间
        //无法为最终变量ss分配值
        ss = new Student();
    }
}
/*
	final修饰变量的初始化时机
		A:被final修饰的变量只能赋值一次。
		B:在构造方法完毕前。(非静态的常量)
*/
class Demo {
	//int num = 10;
	//final int num2 = 20;
	
	int num;
	final int num2;
	
	{
		//num2 = 10;
	}
	
	public Demo() {
		num = 100;
		//无法为最终变量num2分配值
		num2 = 200;
	}
}

class FinalTest2 {
	public static void main(String[] args) {
		Demo d = new Demo();
		System.out.println(d.num);
		System.out.println(d.num2);
	}
}
/*
	继承的代码体现
	
	由于继承中方法有一个现象:方法重写。
	所以,父类的功能,就会被子类给覆盖调。
	有些时候,我们不想让子类去覆盖掉父类的功能,只能让他使用。
	这个时候,针对这种情况,Java就提供了一个关键字:final
	
	final:最终的意思。常见的是它可以修饰类,方法,变量。
*/
class Fu {
	public final void show() {
		System.out.println("这里是绝密资源,任何人都不能修改");
	}
}

class Zi extends Fu {
	// Zi中的show()无法覆盖Fu中的show()
	public void show() {
		System.out.println("这是一堆垃圾");
	}
}

class ZiDemo {
	public static void main(String[] args) {
		Zi z = new Zi();
		z.show();
	}
}




PHP+Javascript液晶时钟

作者:caocao   发表日期:2000年12月20日   阅读次数:126  $size_small=5;//液晶宽度   $size_big=25;//液晶长度   $distance=10;/...
  • terrywang
  • terrywang
  • 2000-12-21 23:24:00
  • 519

Java final修饰类/方法/变量的特点

public class Demo_Final { public static void main(String[] args) { // Son6 s=new Son6(); ...
  • qq_16103331
  • qq_16103331
  • 2016-07-10 00:32:48
  • 2699

final关键字可修饰类、方法、变量

京东2016实习生招聘 Java开发工程师 16.多选题 以下说法错误的是( ) A final修饰的方法不能被重载 B final可以修饰类、接口、抽象类、方法和属性...
  • xhyxxx
  • xhyxxx
  • 2017-03-19 09:45:16
  • 312

static、final修饰的变量和方法能否被继承的问题

static、final修饰的变量和方法能否被继承的问题
  • yezhuanxu
  • yezhuanxu
  • 2016-05-19 09:51:24
  • 4194

Static和final修饰变量、方法、类的时候含义分别是什么?

一、final  根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 fin...
  • u012418845
  • u012418845
  • 2015-08-08 22:39:07
  • 7997

[疯狂Java]面向对象:final修饰符(修饰变量、方法、类)

1. final修饰变量:     1) 当final修饰变量时,其功能类似C++的const,有不可变的意思(类似常量),但是其用法比C++的const灵活地多,功能也更丰富;     2) 用...
  • Lirx_Tech
  • Lirx_Tech
  • 2016-06-26 16:52:04
  • 822

final 修饰 类 方法 变量 形参

一、final  根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 ...
  • waj89757
  • waj89757
  • 2013-05-28 22:57:21
  • 1023

面向对象_final关键字修饰类,方法以及变量的特点

/* final可以修饰类,方法,变量 特点: final可以修饰类,该类不能被继承 final可以修饰方法,该方法不能被重写。(覆盖,复写) final可以修饰变量,该变量不能被重...
  • L1585931143
  • L1585931143
  • 2016-10-04 13:58:42
  • 931

final修饰的类使用方式

Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。 final类不能被继承,没有子类,final类中的方法默认是final的。 ...
  • sinat_38899160
  • sinat_38899160
  • 2017-05-23 16:52:08
  • 711

final修饰基本类型和引用类型变量的区别

当使用final修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变。但对于引用类型的变量而言,它保存的仅仅是一个引用,final只保证这个引用所引用的地址不会改变,即一直引用同...
  • linhao19891124
  • linhao19891124
  • 2016-10-30 11:26:40
  • 2667
收藏助手
不良信息举报
您举报文章:final可以修饰类,方法,变量
举报原因:
原因补充:

(最多只允许输入30个字)