Java 知识大杂烩

来源:互联网 发布:电脑锣编程视频 编辑:程序博客网 时间:2024/04/30 03:27

解决使用Eclipse中调用javadoc的问题  

http://blog.163.com/logowx@126/blog/static/6256726420096259420870/


1、

java 使用了未经检查或不安全的操作

光导入了List,没有导入ArrayList,如果图方便就像楼上说的直接import java.util.*;这样就把util包下所以的类都进行了导入未经检查或不安全的操作,是因为你使用列表时没有使用泛型,这不是错误,只是警告,不影响使用,如果你使用泛型就不报那个警告了假如你的list里将来放的都是String,那么在定义时可以这样List<String> list=new ArrayList<String>();这样就只能存放String了,不能存放其它类型我们真正使用list时,大部分情况下里面放的都是同一种类型,所以使用泛型还是不错的选择




1、JAVA 中使用java.util.random() 函数来产生随机数,Random类中有一个名为nextInt()的方法,public int nextInt(int n) 给定一个参数n,nextInt(n)将返回一个大于等于0小于n的随机数,即0<=nextInt(n)<n。





1、main方法

public :表示此方法可以被外部调用

static :表示此方法可以由类名称直接调用

void :主方法是程序的起点,所有不需要任何的返回值

main: 系统规定好默认调用的方法名称,执行时默认找到main方法名称

String args[]:表示的是运行的参数。参数传递的是形式为:"Java 类名称 参数1 参数2 参数3"


1、Java中有4块内存空间:

(1)栈内存空间:保存所有的对象名称(更准确地说是保存了引用的堆内存)

(2)堆内存空间:保存每个对象的具体属性内容

(3)全局数据区:保存static 类型的属性

(4)全局代码区:保存所有的方法定义


2、Java 在声明一个对象的时候先在内存当中开辟一块地址, new 实例化一个对象的时候就在堆内存中开辟一个空间



3、接口中的成员变量为什么必须用public static final 


答: 
首先接口是一种高度抽象的"模版",,而接口中的属性也就是’模版’的成员,就应当是所有实现"模版"的实现类的共有特性,所以它是public 的 ,是所有实现类共有的 .否则具体实现类不能使用该变量,则就没有了定义的意义。 
static的原因是,假如可以是非static的话,因一个类可以继承多个接口,出现重名的变量,如何区分呢?所以必须定义成static的,以便区分。 
例如一个类实现了两个不同的接口,这两个接口中有相同名字的变量定义,示例代码如下: 
public class MultiInmpl implements InTF, InTFOther
/** 
* @param args 
*/ 
public static void main(String[] args) { 
// TODO Auto-generated method stub 
MultiInmpl m = new MultiInmpl(); 
//如果实现的接口中有同名的变量,则不能引用 
System.out.println(m.str);//str在2个接口中都有定义 



以上代码编译错误!!! 
Multiple markers at this line 
- The field m.str is ambiguous 
- Line breakpoint:MultiInmpl [line: 11] - main(String[])
 
其次,接口中如果可能定义非final的变量的话,而方法又都是abstract的,这就自相矛盾了,有可变成员变量但对应的方法却无法操作这些变量,虽然可以直接修改这些静态成员变量的值,但所有实现类对应的值都被修改了,这跟抽象类有何区别? 又接口是一种更高层面的抽象,是一种规范、功能定义的声明,所有可变的东西都应该归属到实现类中,这样接口才能起到标准化、规范化的作用。所以接口中的属性必然是final的。 
最后,接口只是对事物的属性和行为更高层次的抽象 。对修改关闭,对扩展(不同的实现implements)开放,接口是对开闭原则(Open-Closed Principle )的一种体现。 



0 0
原创粉丝点击