java 小结1:static ,final及泛型

static,final。

(1)final:

final:属于“终态”,意思就是不可以改变。可以修饰非抽象类,非抽象类的方法等。反正就是不能够再改变赋值了。

注意:1)fina类不能被继承,所以它没有子类。

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

3)final方法可以继承,但是不能够被覆盖

4)final一旦赋值,便不能更改

5)final容器,比如list,容器不能够改变,但是容器里面的内容是可以变化的。

(2)static:

static:表示“静态”,“全局”,可用来修饰变量,方法还可以用来形成static代码块。

被static修饰的的成员或者成员方法是独立于类的,它不依赖于某个实例,是被所有实例所共享的,也就是说,只要这个类被加载,JVM就能根据方法名去运行内存区去寻找它们。

不需要事先创建实例,

就这样认为吧,static修饰后的变量,在内存中只有一份拷贝,所有实例都共享这份拷贝,但是如果是实例变量,那么每次创建一个实例便会多创建一份数据。

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/Java/

static 代码块:

static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次

private static final String GOOD = "G";  表示的是说“G”这个字符串在程序中我们可以使用GOOD替换。

泛型:

泛型是避免重复的装箱和拆箱 比如集合List<Strunt> studentList=new ArrayList<Student>();

可以直接往集合里添Student对象

studentList.add(student1);

studentList.add(student2);

...

如果是这样List studentList=new ArrayList();

studentList.add(student1);

studentList.add(student2);

那么想要遍历集合就得

for(Object o:studentList){

Student oo=(Student)o;//这里需要类型转换

}

而上面第一个可以直接

for(Student o:StudentList){

o就代表每一个学生的实体了 不需要类型转换便可得到

作者:博客园 郭佳盛哈哈

时间: 2024-09-12 22:59:17

java 小结1:static ,final及泛型的相关文章

JAVA 代码private static final int DEFAULT_SIZE =2 &amp;amp;lt;&amp;amp;lt; 24 ;疑问

问题描述 看到这么行代码private static final int DEFAULT_SIZE =2 << 24 ;不大理解,请解疑这里DEFAULT_SIZE=2 << 24的结果是一个int常量33554432,为什么要用左移运算 而不直接写上常量33554432? 解决方案 0000 0000 0000 0000 0000 | 0000 0000 0000 0010左移24,得0000 0010 0000 0000 0000 | 0000 0000 0000 0000相当

详解Java编程中static关键字和final关键字的使用_java

Java static关键字以及Java静态变量和静态方法 static 修饰符能够与变量.方法一起使用,表示是"静态"的. 静态变量和静态方法能够通过类名来访问,不需要创建一个类的对象来访问该类的静态成员,所以static修饰的成员又称作类变量和类方法.静态变量与实例变量不同,实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同. 请看下面的例子: public class Demo { static int i = 10; int j; Demo() { this.j

Java里的static import使用小结_java

换了工作要把Java重新捡起来了,这个在大学里用过的语言,虽然不复杂,还是有一些奇怪的地方的.比如static import. Static import是JDK 1.5中引进的特性,不过读大学那会还真没注意到.它的作用是把静态(static)的方法或者常量import进来.比如: import static java.lang.Math.*; public class HelloWorld { public static void main(String[] args) { System.ou

public static final String初始化问题

问题描述 public static final String初始化问题 public static final String CONF_RESOURCE = ("/spring/staticConstants.properties");为什么需要使用双括号,不是只需要使用双引号就可以了吗 解决方案 Java 中的小括号是用来限定逻辑运算的优先级或者方法参数定义的. 有时候为了代码易懂,逻辑运算以外的其他地方也使用它,没有啥具体意义,编译器不会报错. 解决方案二: static fin

Java基础-09总结final,多态,抽象类,接口

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:final关键字(掌握) (1)是最终的意思,可以修饰类,方法,变量. (2)特点: A:它修饰的类,不能被继承. B:它修饰的方法,不能被重写. C:它修饰的变量,是一个常量. /* final可以修饰类,方

java中为什么用final修饰了引用类型,但还是能修改对象,请大神解答下哈

问题描述 java中为什么用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); } } pub

Java面向对象编程中final关键字的使用方法详解_java

在Java中通过final关键字来声明对象具有不变性(immutable),这里的对象包括变量,方法,类,与C++中的const关键字效果类似. immutable指对象在创建之后,状态无法被改变 可以从三个角度考虑使用final关键字: 代码本身:不希望final描述的对象所表现的含义被改变 安全:final对象具有只读属性,是线程安全的 效率:无法修改final对象本身,对其引用的操作更为高效 final 变量定义final Object a,则a只能被初始化一次,一旦初始化,a的数据无法修

java中修饰方法的一个泛型指定为一个类问题

问题描述 java中修饰方法的一个泛型指定为一个类问题 java中修饰方法的一个泛型指定为一个类,那么这个方法的返回类型肯定就是这个类的对象,那返回的是这个类的子类的对象可以吗? 解决方案 可以的,但是在接收到参数进行处理的时候,是需要注意的.给你举个例子: public static void main(String[] args) { int int1 = (Integer) getInt();//正确 int int2 = (Integer) getInt2();//报错 java.lan

java-public static final 的变量为什么要大些?

问题描述 public static final 的变量为什么要大些? 如题,大写 原因或者意义是什么? 解决方案 编码习惯问题,对于常量来说,大写是一个好习惯,一看就能明白.不大写也没错 解决方案二: 这个就是习惯问题吧,常量一般大写,这是编码规范,大家统一之后方便管理,其实你用小写也没错 解决方案三: 常量用final声明后就不可以再改变,默认约定为大写表示常量. 解决方案四: 一种大家遵守的编码规范而已,统一大家的风格. 解决方案五: public static final修饰的,属于常量