导航:首页 > 编程语言 > java类中定义对象

java类中定义对象

发布时间:2025-01-04 14:31:07

java中用new定义对象有几种写法

java中用new定义对象有3种写法。

1.使用new关键字

通过这种方式,我们可以调用任意的构造函数(无参的和带参数的)。

<span style="color: #ff0000;">Employee emp1 = newEmployee();</span> 0: new#19// class org/programming/mitra/exercises/Employee: p

: invokespecial #21// Method org/programming/mitra/exercises/Employee."":()V

2.使用Class类的newInstance方法

我们也可以使用Class类的newInstance方法创建对象。这个newInstance方法调用无参的构造函数创建对象。

我们可以通过下面方式调用newInstance方法创建对象:

<span style="color: #ff0000;">Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee").newInstance();</span>

3.使用反序列化

当我们序列化和反序列化一个对象,jvm会给我们创建一个单独的对象。在反序列化时,jvm创建对象并不会调用任何构造函数。为了反序列化一个对象,我们需要让我们的类实现Serializable接口 。

<span style="color: #ff0000;">ObjectInputStream in = newObjectInputStream(newFileInputStream("data.obj"));Employee emp5 = (Employee) in.readObject();</span>

② Java如何创建对象

Java有5种方式来创建对象:


1、使用 new 关键字(最常用):

ObjectName obj = new ObjectName();

2、使用反射的Class类的newInstance()方法:

ObjectName obj = ObjectName.class.newInstance();

3、使用反射的Constructor类的newInstance()方法:

ObjectName obj = ObjectName.class.getConstructor.newInstance();

4、使用对象克隆clone()方法:

ObjectName obj = obj.clone();

5、使用反序列化(ObjectInputStream)的readObject()方法:

try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(FILE_NAME))) {

ObjectName obj = ois.readObject();

}

③ java类怎样定义数组对象数组

public class a {
public static void main(String[]args){ int a[]={3,9,8};//这个是数组的静态初始化. Date days[]={new Date(1,4,2994),new Date(2,4,2004),new Date(2,5,2005)};
//创建了3个Date对象放在days[]数组里。 //这里还有种写法。你可以先定义个数组,然后动态的进行付值。 //这样写可能烦了点,你也可以用for循环来进行动态赋值。 //列:Date days[]; // days=new Date[3]; // days[0]=new Date(1,2,3); // days[1]=new Date(1,2,3); // days[2]=new Date(1,2,3);
for(int i=0;i<days.length;i++){ //循环数组里的对象
//将对象中的a属性打印输出。

④ java怎么定义一个对象

类名 对象名 = new 类名(实际参数)

Dog myDog = new Dog(Yellow);

默认构造函数没有参数,可以有多种参数。

⑤ java 这样在一个类中定义一个对象数组为什么会出错

首先纠正你一个错误,第二句(第二张图第六行)应该是

a[0]=newStudent();

而不是

Student[0]=newStudent();

因为你定义的数组名字叫 a 而不是 Student。


但是,你的主要错误并不只在这里。而是因为在 Java 中,在一个类的方法外只能定义这个类的成员及其他方法,而不能进行任何对这个类成员的操作,包括修改成员。这里你使用

Student[]a=newStudent[3];

来定义了一个长度为 3 的数组 a 作为 www 类的成员,这是可以的。但是随后你使用

a[0]=newStudent();

初始化 a 中的对象,这就相当于在一个方法的外部来更改类的成员。这种操作是不允许的。所以你有如下两种改法:


第一种是创建一个方法(比如说类的构造函数或者 main 函数),然后把第二句放在这个方法里。

publicclassWww{

Student[]a=newStudent[3];

publicWww(){
a[0]=newStudent();
}

}

第二种是将第二句用大括号括起来。

publicclassWww{

Student[]a=newStudent[3];
{
a[0]=newStudent();
}

}

⑥ Java里“类”和“对象”定义分别是什么我学过C语言,可以用里面的东西解释。

对象是类的实体比如你大脑中的汽车 这只是个概念,这个概念相当于类而真正的一辆桑塔纳汽车就是一个对象 是车这个概念的实体不知道你打不打游戏,比如游戏里所说的某个兵种就是类,造出来的兵就是对象,类只是具有某些共性的实体所总结出的概念。C语言中的struct(结构体)的概念就类似于JAVA的类Java里“类”和“对象”定义分别是什么?我学过C语言,可以用里面的东西解释。

阅读全文

与java类中定义对象相关的资料

热点内容
stc8单片机串口中断 浏览:954
信号分析pdf 浏览:927
暴力删除命令 浏览:803
qt如何编译加快速度 浏览:903
php添加数据sql语句 浏览:717
免费的小说app有什么 浏览:405
螺杆压缩机进气阀动画 浏览:651
两台服务器如何做负载均衡 浏览:227
程序员的工资是涨的吗 浏览:813
视频存储服务器可以干什么 浏览:463
创建文件夹安装失败怎么回事 浏览:832
程序员高考隔了几年 浏览:822
云服务器是哪一层 浏览:22
jit编译器的jit什么意思 浏览:330
我想清理手机中空白文件夹 浏览:976
电脑e盘文件夹删不掉怎么办 浏览:607
外圆凹圆弧编程 浏览:461
html5编程题 浏览:840
干燥机制冷压缩机一开就跳动 浏览:389
吉林压缩空气流量监测 浏览:618