导航:首页 > 编程语言 > java类对象方法

java类对象方法

发布时间:2023-02-12 03:46:51

⑴ 在java中创建对象到底有多少种方法

Java中创建对象的四种方式
1.用new语句创建对象,这是最常见的创建对象的方法。
2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。
3.调用对象的clone()方法。
4.运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。
下面演示了用前面3种方式创建对象的过程:

public class Customer implements Cloneable{
private String name;
private int age;
public Customer(){
this("unknown",0);
System.out.println("call default constructor");
}
public Customer(String name,int age){
this.name=name;
this.age=age;
System.out.println("call second constructor");
}
public Object clone()throws CloneNotSupportedException{
return super.clone();
}
public boolean equals(Object o){
if(this==o)return true;
if(! (o instanceof Customer)) return false;
final Customer other=(Customer)o;
if(this.name.equals(other.name) && this.age==other.age)
return true;
else
return false;
}
public String toString(){
return "name="+name+",age="+age;
}
public static void main(String args[])throws Exception{
//运用反射手段创建Customer对象
Class objClass=Class.forName("Customer");
Customer c1=(Customer)objClass.newInstance(); //会调用Customer类的默认构造方法
System.out.println("c1: "+c1); //打印name=unknown,age=0

//用new语句创建Customer对象
Customer c2=new Customer("Tom",20);
System.out.println("c2: "+c2); //打印name=tom,age=20

//运用克隆手段创建Customer对象
Customer c3=(Customer)c2.clone(); //不会调用Customer类的构造方法
System.out.println("c2==c3 : "+(c2==c3)); //打印false
System.out.println("c2.equals(c3) : "+c2.equals(c3)); //打印true
System.out.println("c3: "+c3); //打印name=tom,age=20
}
}

除了以上4种显式地创建对象的方式以外,在程序中还可以隐含地创建对象,包括以下几种情况:
1.对于java命令中的每个命令行参数,Java虚拟机都会创建相应的String对象,并把它们组织到一个String数组中,再把该数组作为参数传给程序入口main(String args[])方法。
2.程序代码中的String类型的直接数对应一个String对象。
3.字符串操作符“+”的运算结果为一个新的String对象。
4.当Java虚拟机加载一个类时,会隐含地创建描述这个类的Class实例.

⑵ java中类,对象,属性,方法,都是什么,简单明了的说明一下

类:就是一种归类,例如:电器,通俗的讲,就是用电才能工作的机器(不是很准确);又如:人 类,包括人的这一类生物。是具体对象的抽象说法。
对象:就是具体的对象,例如:张三、王五、铅笔、轮滑鞋,等等具体事物,可唯一性的
属性:通俗讲就是具有的特征,属性特征,例如电器中的一种(对象):电饭煲,它的属性可以是:功率1000w,有两档,等等
方法:就是对象能干什么?如:电饭煲可以煮饭等,这个方法是要自己去实现的,通过操纵属性等来实现
我讲的过于粗糙,仅供参考,不懂可追问~

⑶ 请问Java中的类、对象、方法、形参、实参、函数之间的关系是什么

java中的类是个抽象的东西,对象是类的实例,方法是类的行为,也称为函数,形参是方法里面定义的入参,实参就是在函数被调用的时候实际传入的参数
一个类里面可以有多个函数,一个函数可以有多个形参,有几个形参就必须有几个实参对应。

⑷ Java中类,对象,方法到底都是什么

package
com;
public
class
Ware
{//这里就是创建一个类
private
int
wareid;//以下都是Ware类的域,差不多变量的意思
private
int
sort;
private
String
name;
private
Double
price;
private
Double
marketprice;
private
String
smallimg;
private
String
bigimg;
private
String
description;
//
下面public...是类的方法,用来完成一些对应的工作,方法包含在类体里面。
public
void
setWare(int
wareid,int
sort,String
name,Double
price,Double
marketprice,String
smallimg,String
bigimg,String
description){
this.wareid=wareid;
this.sort=sort;
this.name=name;
this.price=price;
this.marketprice=marketprice;
this.smallimg=smallimg;
this.bigimg=bigimg;
this.description=description;
}
public
int
getWareId(){
return
wareid;
}
public
int
getSort(){
return
sort;
}
public
String
getName(){
return
name;
}
public
Double
getPrice(){
return
price;
}
public
Double
getMarketPrice(){
return
marketprice;
}
public
String
getSmallImg(){
return
smallimg;
}
public
String
getBigImg(){
return
bigimg;
}
public
String
getDescription(){
return
description;
}
}
get是获取一些对象的属性
set是设置,这些方法写了一堆呢
是因为需要把这个类做成一个相当于黑匣子一样的东西,让使用者只需要调用get
set来使用就可以。
PS:对象是具体实例话一个类,比如我们把人封装成一个类person,那么,在创建这个类的对象man=new
person();使用set方法给这个man对象带上红领巾,那么这个man对象就是一个少先队员了,呵呵

⑸ 2020-09-10:java里Object类有哪些方法

Java Object类是所有类的父类,主要方法有:

  1. getClass():获取运行时类型,返回值为Class对象

2.hashCode():返回该对象的哈希码值,是为了提高哈希表的性能(HashTable)

3.equals():判断两个对象是否相等,在Object源码中equals就是使用==去判断,所以在Object中equals是等价于==的,但是在String及某些类对equals进行了重写,实现不同的比较。

4.clone():JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里讲参数改变,这是就需要在类中复写clone方法。此方法只实现了一个浅层拷贝,对于基本类型字段成功拷贝,对嵌套对象,只把地址拷贝了,需要自己重写clone方法进行深度拷贝。

5.toString():返回一个String字符串,用于描述当前对象的信息,可以重写返回对自己有用的信息,默认返回的是当前对象的类名+hashCode的16进制数字。

6.wait():多线程时用到的方法,作用是让当前线程进入等待状态,同时也会让当前线程释放它所持有的锁。直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,当前线程被唤醒

7.notify():多线程时用到的方法,唤醒该对象等待的某个线程

8.notifyAll():多线程时用到的方法,唤醒该对象等待的所有线程

9.finalize():对象在被GC释放之前调用finalize方法。

你明白了吗?

⑹ JAVA中类方法和对象方法有什么区别

类方法是所有该类的实例也就是对象共有的方法;对象方法是每个该类的实例也就是对象所私有的。

类方法必须既可以用类名直接调用,也可以用对象来调用;对象方法只能用对象来调用。

⑺ Java中类,对象,方法到底都是什么

类是对一类事物的描述。如“人”就是一个类,一个类又有很多属性和方法,如“人”有“名字”,“性别”“年龄”等属性,有“行走”,“说话”等方法。说简单点就是属性描述一个类是什么样的,而方法描述一个类能干什么。我们说创建一个类,就是写一个Java类,如
class
Person{//类
String
name;....//属性
public
void
run(){..}//方法
}
而对象是类的一个实例,如“张三”就是“人”这个类的一个对象。我们可以通过如下语句来创建“张三”这个对象:Person
zhangsan
=
new
Person();这里用到了Person这个类的一个默认构造函数来创建zhangsan这个对象。至于setXXX,getXXX分别用来设置和获取属性XXX的值。

⑻ Java语言中Object类定义了哪11种方法

Java中所有类(包括用户自己定义的类)都自动继承Object类,即Object类是所有类的父类。

Object中常用方法:

public boolean equals(Object obj)

比较当前对象与obj是否为同一对象,返回值:ture/false

public String toString()

返回当前对象的字符串表达形式

public native int hashCode();

返回对象的Hash码。Hash码是标志对象的唯一值,Hash码相同的对象是同一对象

protected void finalize()throws Throwable

对象销毁时被调用

以下三个函数用于控制线程

public final native void notify();public final native void notifyAll();public final native void wait();

native型方法指由C++语言编写的方法,Java解释器对其进行转义后才执行。

“==”与equals()

"==" 一般用于基本数据类型比较。若用作两个引用对象比较,仅当引用变量引用同一个对象时,才返回true,否则false。

void EqualCompare()
{
String s1 = new String("Hello");
String s2 = new String("Hello");
String s3 = "Hello";
String s4 = "Hello";

//未使用new,s4引用既存的对象(编译器创建对象之前先进行检测"Hello"是否已经存在,若存在,则返回原对象的引用)
System.out.println(s1.equals(s2)); //truex1行
System.out.println(s1 ==s2); // false 两变量引用不同对象
System.out.println(s3.equals(s4)); //true 两变量引用相同对象
System.out.println(s3 ==s4); // true 两变量引用相同对象
}

比较对象时,一般用equal()方法。

Object类方法定义:public boolean equals(Object obj){ return (this == obj);}

不同的类可方便的对该对象进行覆盖。String类就覆盖了Object类的equals()方法,所以x1行输出true.

a==b 如果a,b引用同一对象,则返回true;

a.equals(b) 如果a对象内容和b对象内容相同,则返回true

如果未重载equals()方法的类对象使用该方法与另一个对象进行比较,则调用Object的equals()方法,仍然是对象的比较,返回值为false。

阅读全文

与java类对象方法相关的资料

热点内容
电脑服务器地址ip地址 浏览:823
对矩阵压缩是为了 浏览:910
setfacl命令 浏览:172
linux子系统中断 浏览:342
linux查看进程ps 浏览:224
知识库系统php 浏览:623
小波变换压缩图像python 浏览:151
阿里巴巴程序员怎么月入百万 浏览:173
如何使用国外服务器 浏览:188
燃灯者pdf 浏览:468
编译器用数学吗 浏览:7
图形化apk反编译工具 浏览:48
考勤表加密怎么办 浏览:735
arj压缩与解压批处理怎么写 浏览:658
php和大数据哪个好 浏览:930
未来最值得投资的加密货币 浏览:526
ascii码是编译的时候用吗 浏览:781
压缩机感应包可以通用吗 浏览:413
方舟服务器怎么发布到搜索列表 浏览:271
xml防反编译 浏览:242