第三次java课程

1.对象与对象引用的区别是什么?请举例说明
用具体代码解释

public class student{
	private int id;
	private char name[10];
	public student();
}

这是一个具体的类,我们使用它创建一个对象

student s=new student;//这里产生了一个具体的类

然后我们表现对象引用

student ss=s;//这里的ss是之前产生的类的引用

这里的ss即为对象引用
2.对象作为参数传递的特点是什么?请举例说明
对象作为参数传递的时候,传递的是对象的地址。作为对象的引用传递可以改变。

class student{
private int id=0;
}
public class {
	public static void assignment(student s,int i){
		s.id=i;
	}
	public static void main(String args[]){
		student S=new student();
		assignment(S,1);
		System.out.println(S.id);//此处s中的id已经被改变
	}
}

最终的输出结果为1
3.对象初始化顺序是怎样的?请举例说明
(1) 加载student类:
初始化student类的static属性,赋默认值;
执行student类的static初始化块;
(2) 创建student类对象:
初始化student类的非static属性,赋默认值;
执行student类的instance初始化块;
执行student类的构造方法;

public class student{
	private int id;
	static
    {
         System.out.println("static");
    }      
    Child(){
         System.out.println("student"); 
    }

输出:
static
student
4.类的 static 字段与非 static 字段的区别是什么?什么场景应该使用 static 修饰符?请举例说明
static修饰的变量不属于具体的对象,它的存储空间对类的所有对象都共享。

public class student{
	private int id;
	static int class = 1;
}

此处的班级信息则是所有学生对象共享的数据
5.Java中 final 修饰符都有什么作用?请举例说明
final修饰符修饰类中的属性时,该属性成为常量,不可以被修改
final修饰类中的方法时,如果该类被继承,子类中不可以使用新的方法覆盖原方法

public class student{
	private final int id = 1;
	public void change(int x){
		this.id = x;
	}
}

这段代码类中的方法change改变id的数据会报错
6.Java中 float [10] arr ;语句正确么?为什么?
不正确,这样定义会使系统无法分配空间给arr
定义数组可用以下方式

float[ ] arr;
arr = new float[10];

或者采用

float[ ] arr = new float[10];

7.Java数组元素类型为基本类型和引用类型时,有什么不同?请举例说明
基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上;
引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。
基本数据类型的元素是基本类型

int[ ] a = new int[10];

引用类型的元素都是对象

student[ ] s = new student[10];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值