2020-10-06

1.对象与对象引用的区别

对象是对客观事物的抽象,类是对对象的抽象,对象是类的实例,类是对象的模板。

声明被赋予特定对象即为引用。

FighterPlane fp;            //产生FighterPlane声明
fp=new FighterPlane();      //创建对象并把声明赋予对象

"FighterPlane fp;"时,FighterPlane是一个类,fp只是一个声明,并没有对象产生;

当"fp=new FighterPlane();"时,"new FighterPlane()"创建了对象,并且声明fp被赋予对象,此时声明成为了对象引用。

FighterPlane fp=new FighterPlane();   //对象引用

2.对象作为参数传递的特点

当基本数据类型作为参数在方法中传递时,传递的是值。而对象的传递是引用传递,即传递的是对象的地址。

class IntClass{
    intr value;
}
public class RunIntClass{
    public static void modifyValue(IntClass s,int val){
        s.value=val;
    }
    public static void main(String args[]){
        IntClass a = new IntClass();
        modifyValue(a,8);
        System.out.println(a.value);
    }
}

3.对象初始化顺序

初始化父类的静态代码—>初始化子类的静态代码–>初始化父类的非静态代码—>初始化父类构造函数—>初始化子类非静态代码—>初始化子类构造函数

class Building {
	public Building() {
		System.out.println("Building");
	}
}
class House extends Building{
	public LivingRoom livingRoom = new LivingRoom();
	public House() {
		System.out.println("House");
	}
}
class Bed {
	public Bed () {
		System.out.println("Bed");
	}
public class InitializeDemo {
	public void testInitialize() {
		Villa villa = new Villa();
	}
}

4.类的static字段与非static字段的区别及static修饰符的使用情况

当使用static修饰数据成员时,此时不单独属于任何一个类的具体对象,而是属于类的静态数据成员。它被保存于类的内存区的公共存储单元,所以当类的任意一个对象访问它的时候,得到的值都是一样的。

当某个属性需要被类、多个对象引用共享访问时,使用static修饰符。

5.Java中final修饰符的作用

修饰类属性,则该属性为常量;
修饰方法,则方法为最终方法;
修饰类,则该类不能被继承。

public Constant{
    static final int OK=0;
    static final int CANCEL=1;
}

6.float[10] arr;

这个语句是错误的,在Java中,定义数组时不能在[ ]中指定数组长度。
应改为:float[ ] arr;

7.Java数组元素类型为基本数据类型和引用类型时的不同

基本数据类型的数组,各元素都是基本数据类型,不是对象 。

int[] a = new int[3];

引用类型的数组,各元素都是对象 。

Object[] test = new Object[12];

基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上;
引用数据类型在被创建时,首先要在栈上给其引用分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值