静态变量和实例变量的区别?

 静态变量和实例变量的区别?
    在语法定义上的区别:静态变量前要加static关键字,而实例变量前不加。

    在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。

                               静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码文件,不用创建任何实例象,静态变量就会被分                                配空间,静态变量就可以被使用了。

   总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。

是否可以从一个static方法内部发出对非static方法的调用?

    不可以。因为非static方法要与对象关联在一起,必须创建一个对象后,才可以在该对象上进行方法的调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,一个static方法被调用时,可能还没有创建任何实例对象,所以,一个static方法内部不可以发出对非static方法的调用。

Integer与int的区别?

    int是java提供的8种基本数据类型之一。Java为每个原始类型提供了封装类,Integer是Java为int提供的包装类。int的默认值是0,而Integer的默认值是null,即Integer可以区分出来未赋值和值为0的区别,int则无法表达出来未赋值的情况,例如想要表达出没有参加考试和考试成绩为0的区别,则只能用Integer。

     详见http://www.cnblogs.com/dazuihou/p/3567821.html

Math.round(11.5)等于多少?Math.round(-11.5)等于多少?

    Math类中提供了三种与取整有关的方法:ceil、floor、round。这些方法的作用与他们的英文名称的含义相对应,ceil的英文意思是装天花板,该方法就表示向上取整。floor的英文意思是地板,该方法就表示向下取整。至于round方法,他表示“四舍五入”,算法为Math.floor(x+0.5f),即将原来的数字加上0.5,之后再向下取整。所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。

下面代码有什么不妥之处?

1.if(username.equals("zxx")){}

2.int x=1; return x==1?true:false;

    答:1.应该先判断username是否是null;如果是null,则会出现空指针异常。

            改为:if("zxx".equals(username)){}

          2.x==1本身就返回boolean型,再用三元操作符判断true和false多此一举。

            改为:return x==1;

请说出作用域public,private,protected以及不写时的区别

作用域 同一类 同一包 子类中 不同包
public
protected ×
defualt(friendly) × ×
private × × ×

    public:接口访问权限

protected:继承访问权限

default:包访问权限

private:你无法访问(除了包含该成员的类以外,其他任何类都无法访问这个成员)

原文地址:https://www.cnblogs.com/dazuihou/p/3567674.html