导航:首页 > 编程语言 > java实例化方法

java实例化方法

发布时间:2023-01-12 13:21:56

java对象实例化

按照题目只创建一个实体类:
Tree.java
public class Tree {
//种类
private String kind;
//年龄
private String age;
//高度
private String height;

public String water(){
return "我今天要给他浇水";
}

public String cut(){
return "需多修剪枝叶";
}

//Geter and Setter
public String getKind() {
return kind;
}

public void setKind(String kind) {
this.kind = kind;
}

public String getAge() {
return age;
}

public void setAge(String age) {
this.age = age;
}

public String getHeight() {
return height;
}

public void setHeight(String height) {
this.height = height;
}
}
测试类
TreeTest.java
public class TreeTest {
public static void main(String[] args) {
//桃树
Tree peach = new Tree();
peach.setKind("桃树");
peach.setAge("才种四个月");
//柳树
Tree willow = new Tree();
willow.setKind("柳树");
willow.setHeight("一米高了");

String str = willow.getKind()+willow.getHeight()+","+willow.water()+","+peach.getKind()+peach.getAge()+","+peach.cut();
System.out.println(str);
}
还可以用多态的方式,实现一个Tree接口,或者定义一个Tree父类,通过子类继承的方式来实现

㈡ Java类的实例化顺序是什么样的Java线程同步的方式有哪些

引言:java是在1990年初 ,被詹姆斯•高斯林等人开发的一门面向对象的编程语言。起初,java被称为0ak,来经过发展0ak改名为java,与1995年的五月份正式向大家发布。

一、java类的实例化顺序

java的实例化顺序在继承没有的情况

单独一个类的场景下,初始化顺序为依次为静态数据,继承的基类的构造函数,成员变量,被调用的构造函数。

其中静态数据只会初始化一次。(静态数据包括静态代码块和静态变量,每个类的静态数据只会初始化一次)

在继承的情况下

添加两个基类,让继承父亲,父亲继承祖父。

继承的情况就比较复杂了。由继承了基类,还将往上回溯,递归地调用基类的无参构造方法。

在我们的例子中,在初始化静态数据后,会先往上追溯,调用父的默认构造方法,此时再往上追溯到爷爷的默认构造方法。


无论是java还是什么别的东西他都体现了现代社会与信息技术的不断发展,人们在进行进行技术开发时也有了越来越多的方法。程序类的工作也有了更为快捷的方法,这为信息技术的发展也提供了更好的发展方法

㈢ Java的实例化

对象是类的一个实例,创建对象的过程也叫类的实例化。对象是以类为模板来创建的。
在Java中,使用new关键字来创建对象,一般有以下三个步骤:
声明:声明一个对象,包括对象名称和对象类型
实例化:使用关键字new来创建一个对象。
初始化:使用new创建对象时,会调用构造方法初始化对象。

㈣ java类中定义的类怎么 实例化

子对象可以使用父类的除了private的所有方法,父类不能使用子类的方法。
就好象,儿子知道父亲干的详细信息(比如娶了多少老婆,赚了多少钱),但是父亲不能知道他这一生会生多少儿子,儿子长大以后会娶多少老婆,会赚多少钱一样。
a b
= new
b();
b想访问b类的方法,可以通过强制类型转换
((b)b).setcolor();

㈤ java 如何实例化一个对象

我觉得实例化对象有三种方法:
1.new
关键字
上面的答案都说了
2.class.forname("类名").newinstance()
该类必须提供一个参数列表为空的构造方法
3.反序列化
可从文件中实例出一个java对象

㈥ java实例化

后两种方法是静态工厂方法。它们和new语句的区别如下:
我们要得到一个对象,马上想到构造方法(new语句调用构造方法),其实,静态工厂方法也可以替我们做到。
例如,在jdk1.4里面,Boolean用了一个静态方法来得到一个boolean对象:
public static Boolean valueOf(boolean b)

question:这个方法实际上并不返回一个object?
对的, sun的jdk 帮助里面讲: If a new Boolean instance is not required, this method should generally be used in preference to the constrUCtor Boolean(boolean).
但是,不是说静态工厂方法所有时候都不返回一个object,只是不是所有时候都返回一个object。

使用静态工厂方法和构造方法比较的优缺点:
优点:
1. 静态工厂方法都是有自己的名字,轻易理解.
2. 静态工厂方法并不要求每次都生成一个对象.比如上面提到的Boolean的public static Boolean valueOf(boolean b)就不会返回一个object. sun的jdk帮助文档里面也提到,在不需要得到一个对象的情况下,使用valueof方法可以得到性能的提升.
而且这样,可以控制类在生的期间该类的句柄数,这个作用在单态(item 21)和类型安全(item 21)都是有用的.
3. 静态工厂方法可以返回该类的任何子类,这给了程序员更大的选择空间.
比如Collections,用了很多静态工厂方法来得到immuable的set,map之类的.
而且静态工厂方法可以强迫user通过接口来引用被返回的对象,而不是每次都使用构造函数,这是一个好习惯.
静态工厂方法返回的类,在编写含有静态工厂方法这个类的时候,可以并不存在,这就提供了一种灵活的service provider framework.比如Java的密码系统扩展(JCE),provider为user提供多个api实现,framework提供一种机制来register这些实现,用户只需直接使用api,而不用考虑自己在使用哪个实现。
下面是这种机制的程序框架:
import java.util.*;
// Provider framework sketch
public abstract class Foo {
// Maps String key to corresponding Class object
private static Map implementations = null;
// Initializes implementations map the first time it´s called
private static synchronized void initMapIfNecessary() {
if (implementations == null) {
implementations = new HashMap();

// Load implementation class names and keys from
// Properties file, translate names into Class
// objects using Class.forName and store mappings.
// ...
}
}
public static Foo getInstance(String key) {
initMapIfNecessary();
Class c = (Class) implementations.get(key);
if (c == null)
return new DefaultFoo();
try {
return (Foo) c.newInstance();
} catch (Exception e) {
return new DefaultFoo();
}
}
public static void main(String[] args) {
System.out.println(getInstance("NonexistentFoo"));
}
}
class DefaultFoo extends Foo {
}

静态工厂方法的缺点:
1. 仅仅有静态工厂方法而没有public的构造方法的类不能被继续…这也不是没有好处--可能能迫使程序员使用复合来代替继续.
2. 有时候可能会导致与其他的static方法混淆.这个缺点可以通过使用标准的命名方法来区别于其他的static方法.
现在有两种方法已经开始形成标准:
valueof(type k)-返回和k有相同值的句柄.
Getinstance-返回一个复合参数所描述的句柄.但是不一定和参数具有相同的值..这个方法在Provider framework里面是很有用的.

所以,我们不要每次都毫不犹豫的使用构造方法,有时候静态工厂方法可能是更加合适的.但是当你无法取舍的时候,还是使用构造方法吧,因为它是比较普通和标准的.

文章来源: 动态网站制作(www.knowsky.com) 出处:http://www.knowsky.com/369377.html

㈦ java 怎样实例化

先声明一个类:
public class A{//这里声明了一个类A

}
如果想实例化类A,就用new,如:
A a = new A()//这里就实现了对类A的实例化

㈧ java中实例化方法是什么意思

在面向对象的编程中,通常把用类创建对象的过程称为实例化,其格式如下:
类名 对象名 = new 类名(参数1,参数2...参数n)
(这里,“类名”这个类名实例化成了“对象名”这个对象)
如 Date date=new Date();就是用日期类创建了一个日期的对象,就叫对象的实例化。
多数语言中,实例化一个对象 其实就是在内存中开放一个空间 用于存储新的产物,即对象。
例如一个类class A{
.....
}
A a=new A();

㈨ 在java中 什么叫 实例方法

实例方法也叫做对象方法。
类方法是属于整个类的,而实例方法是属于类的某个对象的。
由于类方法是属于整个类的,并不属于类的哪个对象,所以类方法的方法体中不能有与类的对象有关的内容。即类方法体有如下限制:
(1) 类方法中不能引用对象变量;
(2) 类方法中不能调用类的对象方法;
(3) 在类方法中不能使用super、this关键字。
(4)类方法不能被覆盖。
如果违反这些限制,就会导致程序编译错误。
与类方法相比,对象方法几乎没有什么限制:
(1) 对象方法中可以引用对象变量,也可以引用类变量;
(2) 对象方法中可以调用类方法;
(3) 对象方法中可以使用super、this关键字。
在程序设计中,一些通用的、公用型的方法与类的对象无关,因此常常被作为类方法实现。如Java类库中Math类,其中多数的数学运算操作都被定义成静态方法。因此,可以使用类方法把一些通用的、公用型的方法放在合适的类中,从而很好地将它们组织起来。应用程序中的主方法main就是类方法。
例如:
class Clerk {

int c_ClerkNo;//职员号
String c_ClerkName;//职员姓名
double c_ClerkSalary;//工资
static int c_NextClerkNo=1000;//下一个职员号

static double c_LowSalary=280;//例4-11

public Clerk(String name,double salary) {
c_ClerkNo=++c_NextClerkNo;
// c_ClerkNo=c_NextClerkNo++;

c_ClerkName=new String(name);
// c_ClerkName=name;

c_ClerkSalary=salary;
}
}

public class InstanceClerk
{
public static void main(String[] args)
{
Clerk objclerk1=new Clerk("张三",892.5);
Clerk objclerk2=new Clerk("李四",1025.8);

String aName=new String("王五");
Clerk objclerk3=new Clerk(aName,2000);

System.out.println("姓名:"+objclerk1.c_ClerkName+"编号:"+objclerk1.c_ClerkNo+"工资:"+objclerk1.c_ClerkSalary);
System.out.println("姓名:"+objclerk2.c_ClerkName+"编号:"+objclerk2.c_ClerkNo+"工资:"+objclerk2.c_ClerkSalary);
System.out.println("姓名:"+objclerk3.c_ClerkName+"编号:"+objclerk3.c_ClerkNo+"工资:"+objclerk3.c_ClerkSalary);

System.out.println("最低工资:职员1="+objclerk1.c_LowSalary);
System.out.println("最低工资:职员2="+objclerk2.c_LowSalary);

Clerk.c_LowSalary=330;

System.out.println("提高以后");
System.out.println("最低工资:职员1="+objclerk1.c_LowSalary);
System.out.println("最低工资:职员2="+objclerk2.c_LowSalary);
}
}
你可以参考这个源程序,然后自己将注释的语句去掉注释等等,运行一下就会明白的。
希望对你有所帮助。

㈩ java中实例化一个对象有几种方式

方法一:new
方法二:使用工厂模式,引入工厂类
方法三:使用反射:Class.forName
方法四:对象克隆

阅读全文

与java实例化方法相关的资料

热点内容
家庭宽带如何连接服务器 浏览:117
汽车高压泵解压 浏览:770
上门正骨用什么app 浏览:758
安卓为什么免费使用 浏览:397
加密货币都有哪些平台 浏览:625
python和matlab难度 浏览:388
python爬虫很难学么 浏览:572
小米解压积木可以组成什么呢 浏览:816
为什么滴滴出行app还能用 浏览:564
怎么升级手机android 浏览:922
php权威编程pdf 浏览:994
扣扣加密技巧 浏览:720
苹果如何创建服务器错误 浏览:497
软考初级程序员大题分值 浏览:475
js压缩视频文件 浏览:580
linux如何通过命令创建文件 浏览:991
应用加密app还能访问应用嘛 浏览:435
安卓怎么用支付宝交违章罚款 浏览:667
php面向对象的程序设计 浏览:506
数据挖掘算法书籍推荐 浏览:896