java创建对象有哪几种方式

JAVA创建对象的四种方式:

有4种显式地创建对象的方式:

1.用new语句创建对象,这是最常用的创建对象的方式。

2.运用反射手段,调用Java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。

3.调用对象的clone()方法。

4.运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法.

下面演示了用前面3种方式创建对象的过程。



4.当Java虚拟机加载一个类时,会隐含地创建描述这个类的Class实例.

Ⅱ JAVA:怎样创建对象

第一句,创建对象并返回这个对象在内存中的地址给xx 则xx可以理解为程序中这回个对象的代言(引用),因为答xx的指向的是这个对象

返回!!返回实际就是一个赋值运算,就是‘=’号 等号右边才是创建对象的语句 如果你不需要再次使用这个对象 仅仅是创建就OK了,那就用第二种的句子 new一个就完了

Ⅲ java如何创建对象

JAVA创建对象的四种方式:
有4种显式地创建对象的方式:
1.用new语句创建对象,这是最专常用的创建对象的方式。属最常用 比如
Scanner scanner = new Scanner(System.in)
2.运用反射手段,Java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。
3.调用对象的clone()方法。
4.运用反序列化手段

Ⅳ java怎么定义一个对象

Java类对象的定义、生成和使用
1. 解析简单应用程序的结构
public class MyFirstProgram {
public static void main(String []args) {
System . out . println ( "Welcome to Java Programming ! This is my first program ! " ) ;
}
}
(1)Java 程序中必须有而且只能有一个公共类,在公共类中必须有而且只能有一个主方法,主方法总是:public static void main(String []args) { } 。
(2)Java程序的任何部分都必须包含在某一个类中。
(3)System.out.println(“Welcome to Java Programming !”);是main方法的一个语句,作用是把一行文本输出。使用的是System.out对象,并调用了它的println方法。注意,利用句点来调用一个方法(称作:成员访问符),Java的通用语法是:
object.method(parameters)
//关键字public是一种访问控制符(access modifier)。
//关键字class定义了一个名字为MyFirstProgram的类。
//类名的命名规则符合标识符的规则。习惯上类名是由几个名词紧靠在一起构成,并且每个单词的首字母都大写。不懂可以加入组织先记下175在一次写下161最后填写984就会出现一个神器的数字【扣裙】
//源代码的文件名必须同公共类的名字一样,并且以 .java作为文件扩展名。
// Java解释器总是从类的main方法开始执行代码。
//在c++中的所有函数,在Java中都是某个类的方法。
//与c/C++不同的是,main方法并不对操作系统返回一个“退出代码”。如果main方法正常退出,则Java程序的退出代码为0,表明成功地执行完毕此程序。如果以不同的退出代码结束程序,则使用System.exit方法。
//回车并不意味着一个语句的结束,一个语句可以跨越多行。
//Java中的方法可以没有参数(parameter),也可以有一个或多个参数(有些程序设计语言中称它们为argument(参数))。即使一个方法没有参数,空的圆括号也是必需的。
2. 对象的定义和使用
2.1.1 定义类的对象
类对象的生成过程,包括对象的声明、实例化和初始化。实例化一个对象就是通过new运算符为对象分配空间(类属于复合数据类型,在声明对象时,系统并没有为对象分配空间,用户需要应用new完成分配空间的任务)。既可以在声明对象时实例化(创建)对象,也可以先声明对象,然后再创建。
(1)在声明对象时,创建对象:
[修饰符] 类名 对象名 [= new 类名(参数列表)] ;
例如: public String s = new String(“ The definition of class”) ;
(2)先声明对象,然后再创建对象:

2.1.2 对象的使用
包括对属性和方法的引用,通过分量访问运算符“ . ”来实现。
格式为:类对象名.成员名
2.1.3 对象的清除
类对象的清除由系统自动完成,不需要用户干预。

//BookInfo.java
public class BookInfo {
public static void main(String []args){
BookClass book1=new BookClass();
book1.setname( “Java2” );
book1.setauthor( “Hanjun” );
book1.settype( “Computer Science” );
System.out.println(“下面是一本书的信息:”);
System.out.println(“书名: “+book1.getname());
System.out.println(“作者: “+book1.getauthor());
System.out.println(“类别: “+book1.gettype());
}
}

//BookClass
class BookClass{
private String name ;
private String author ;
private String type ;

public void setname(String tname){
name=tname;
}

public void setauthor(String tauthor){
author=tauthor;
}

public void settype(String ttype){
type=ttype;
}

public String getname(){
return name;
}

public String getauthor(){
return author;
}

public String gettype(){
return type;
}

Ⅳ java中怎么创建对象数组

//如果你是初学JAVA,建议你看看这段代码,里面有一些基本技巧
//有疑问可以问我!

import java.io.*;

public class StudentInformation {

public static void main(String args[]) throws IOException {
Student[] st = new Student[5];// 第一个错误
int i = 0;
st[i++] = new Student().setStudent("WangZhen", 20, 1, 1.76);
st[i++] = new Student().setStudent("YangZhen", 21, 2, 1.66);
st[i++] = new Student().setStudent("Wangqiang", 19, 3, 1.86);
st[i++] = new Student().setStudent("XiaoMing", 18, 4, 1.71);
st[i++] = new Student().setStudent("XiaoHong", 22, 5, 1.74);
for (i = 0; i < st.length; i++)
st[i].display();
System.out.println("请输入要查询学生的姓名");
String str;
BufferedReader buf;
buf = new BufferedReader(new InputStreamReader(System.in));
str = buf.readLine();
for (i = 0; i < st.length; i++) {
if (st[i].name.equals(str)) {
System.out.println("所要查找学生为");
st[i].display();
}
}

}

}

class Student {
String name;

int age;

int num;// 学号

double high;// 身高

public void display() {
System.out.println("姓名:" + name + "\t年龄:" + age + "\t身高:" + high + "\t学号:" + num);
}

public Student setStudent(String n, int a, int nu, double h) {
name = n;
age = a;
num = nu;
high = h;
return this;
}
}

Ⅵ java 内部类的对象怎样创建

public class InnerClass {
class A{
A(){
System.out.println("A class");
}
A getInstance() {
System.out.println("return a new A");
return new A();
}
}
public static void main(String[] args)
{
System.out.println("closing class ");
InnerClass innerClass=new InnerClass();
InnerClass.A a=innerClass.new A();
a=a.getInstance();
//如果上面没有创建外部类对象,那么就不能这样
//A a =new A();这是因回为在没有创建外部类对象的时候,不能创建内部答类对象(这个情况除了嵌套类之外),构建内部类的对象时,需要指向一个外部类对象的引用。

}
}

Ⅶ java里怎么创建对象数组

你这个试试对对象数组的一个声明,并没有示例话,所以会报空指针异常
这个数组对象都是现用现初始化的
Animals [] an=new Animals[5];//这只是个对象类型数组的声明
用的时候需要
for(int i=0;i<5;i++)
an[i]=new Animals();
这样你明白了吧
你前面的那个光声明了数组,但是没有调用Animals的构造函数,你数组里的每个元素都是一个对象,使用前必须要先实例化
如果你只是用户输入长度,
Animals [] an=new Animals[n];
声明时是可以用变量的
或者你直接Animals [] an=new Animals[100];定义一个大数组,要用的时候再new Animals();实例化,或者用LinkedList<Animals> an=new LinkedList<Animals>();定义一个动态数组

Ⅷ java中怎么创建对象数组

首先我们需要创建一个class:

classStudent{
Stringname;
doublescore;
Stringnum;

Student(Stringn,doubles,Stringm){
name=n;
s=score;
num=m;
}

publicstaticvoidprintInfo(){
System.out.println(num+","+name+","+score);
}

}

接下来我们对此类进行数组的创建:

//1
Studentstu[];<spanstyle="white-space:pre"></span>//声明数组。
stu=newStudent[3];<spanstyle="white-space:pre"></span>//创建数组,这里是创建的一个引用的数组,每一个引用并没有确切的地址。
for(inti=0;i<3;i++){<spanstyle="white-space:pre"></span>//为数组创建对象,也就是说为创建的引用关联到确切的地址。
stu[i]=newStudent();
}
//2
Studentstu[]=newStudent[3];
for(inti=0;i<3;i++){
stu[i]=newStudent();
}
//3
Studentstu[]=newStudent{newStudent(sjl,87,01),newStudent(ljs,98,02),newStudent(lls,92,03)};

Ⅸ java在类的定义中创建自己的对象

你主要的疑惑是,为什么类中的方法可以创建它本身。


类和方法的写法都是一种 声明,所谓声明,就是说是对行为的描述,而不是要真正执行它。

例如

class小狗{
publicvoid吃饭(){
小狗abc=new小狗();

}
}


这里声明一个叫小狗的类,他有一个方法,吃饭()。
到这里没有任何问题,我只是描述了一个类,和吃饭的行为。
这个时候系统什么都没发生,因为只是声明而已。
说的是小狗 “可以”吃饭,但并不是声明完就必须立即调用吃饭()。
但这样的话,谁去调用他呢,我可以写另一类比如person类,但是谁去调用person呢?
说来说去就必须有一个不需要创建对象也能调用的方法。
java里面就是main方法(这个main方法只需要放到任意一个类中即可)。

publicstaticvoidmain(String[]args){
小狗a=new小狗();
a.吃饭();
}

当你用java执行这个类时,系统会寻找main方法作为入口执行。流程如下

1 进入 main方法,调用小狗 a= new小狗(),
这样系统才真正创建一个小狗类(class)的一个实例(instance),
2 然后调用a.吃饭(), 这个时候系统执行了吃饭的方法,即又创建了abc,一个新的小狗,
3程序结束,返回。


系统寻找main的时候不关心main是否在哪个类里,所以实际上main和他的宿主在生命周期上没有关联。之所以写在这个类里只是不需要import类,图方便而已。
上面2中,创建a小狗,吃饭()调用后,创建了abc小狗,两者并没有什么关系