final:
final的三个基本概念:1、被final修饰的类不能被继承。2、被final修饰的方法不能被重写。3、被final修饰的变量不可以被修改。
*这里的变量不可以被修改是指变量的引用,而非变量的内容。
比如说:
public class Test
{
public static void main(String[] args)
{
final FinalString fs = new FinalString("1");
fs.setStr("2");
System.out.println(fs.getStr());
}
}
这段代码是不报错的,可以正常运行。而:
public static void main(String[] args)
{
final FinalString fs = new FinalString("1");
final FinalString fss = new FinalString("333");
fs = fss;
}
会报错。
static:
static的基本用法是:1、被static修饰的变量属于类变量,可以用类名.变量名直接引用,不用再new一个类。2、被static修饰的方法属于类方法,可以直接用类名.方法名直接引用,不用再new一个类。
常问的问题:1、静态方法可不可以引用静态资源。2、静态方法可不可以引用非静态资源。3、非静态方法可不可以引用静态资源。
静态资源是类在初始化时加载的,而非静态资源是在类new的时候加载的。类的初始化要早于new,因此对于上述的问题:1、静态方法可以引用静态资源。2、静态方法不可以引用非静态资源。3、非静态方法可以引用静态资源。
final的三个基本概念:1、被final修饰的类不能被继承。2、被final修饰的方法不能被重写。3、被final修饰的变量不可以被修改。
*这里的变量不可以被修改是指变量的引用,而非变量的内容。
比如说:
public class Test
{
public static void main(String[] args)
{
final FinalString fs = new FinalString("1");
fs.setStr("2");
System.out.println(fs.getStr());
}
}
这段代码是不报错的,可以正常运行。而:
public static void main(String[] args)
{
final FinalString fs = new FinalString("1");
final FinalString fss = new FinalString("333");
fs = fss;
}
会报错。
static:
static的基本用法是:1、被static修饰的变量属于类变量,可以用类名.变量名直接引用,不用再new一个类。2、被static修饰的方法属于类方法,可以直接用类名.方法名直接引用,不用再new一个类。
常问的问题:1、静态方法可不可以引用静态资源。2、静态方法可不可以引用非静态资源。3、非静态方法可不可以引用静态资源。
静态资源是类在初始化时加载的,而非静态资源是在类new的时候加载的。类的初始化要早于new,因此对于上述的问题:1、静态方法可以引用静态资源。2、静态方法不可以引用非静态资源。3、非静态方法可以引用静态资源。
本文详细解释了Java中final和static关键字的基本概念及使用方法。包括final修饰的类、方法和变量的特点,以及static修饰的变量和方法如何工作。同时探讨了静态方法引用静态和非静态资源的可能性。
196

被折叠的 条评论
为什么被折叠?



