JAVA开发中的类与对象如何使用?
1个回答
展开全部
类分为两种:
1.抽象类
抽象类只能用来派生子类,不能创建抽象类的对象。如:
abstract class A
{
abstract void f();
}
//派生子类
class B extends A
{
void f()
{}
}
如果一个类包含抽象方法,那些个类必须定义成抽象类,但抽象类可以不包含抽象方法。
2.非抽象类
非抽象类可以派生子类,也可以创建非抽象类的对象。如:
class A
{
void f()
{}
}
//派生子类
class B extends A
{
void g()
{}
}
A a1=new A();
a1.f();
无论抽象类还是非抽象类都可以包含静态方法和静态属性。类的静态的方法和属性不需要创建对象,通过类名就可以使用,如:
//A是抽象类
abstract class A
{
void static f()
{}
static int n=100;
}
//引用静态方法
A.f();
//引用静态属性n
int r=A.n;
//B是非抽象类
class B
{
void static f()
{}
static int n=100;
}
//引用静态方法
B.f();
//引用静态属性n
int r=B.n;
而对象是类的实例化,类是对象的模板。可以用非抽象类来创建对象,然后使用类的实例方法和实例属性,如:
class A
{
void f()
{}
int n=1;
}
//创建一个类A的对象
A a1= new A();
//使用实例方法和属性
a1.f();
int r=a1.n;
此外,静态属性是属于类的,只有一个拷贝,被类的所有对象所共享。而实例属性是属于对象的,每个对象都有自己的一个实例属性的拷贝,彼此之间相互独立,互不影响。
1.抽象类
抽象类只能用来派生子类,不能创建抽象类的对象。如:
abstract class A
{
abstract void f();
}
//派生子类
class B extends A
{
void f()
{}
}
如果一个类包含抽象方法,那些个类必须定义成抽象类,但抽象类可以不包含抽象方法。
2.非抽象类
非抽象类可以派生子类,也可以创建非抽象类的对象。如:
class A
{
void f()
{}
}
//派生子类
class B extends A
{
void g()
{}
}
A a1=new A();
a1.f();
无论抽象类还是非抽象类都可以包含静态方法和静态属性。类的静态的方法和属性不需要创建对象,通过类名就可以使用,如:
//A是抽象类
abstract class A
{
void static f()
{}
static int n=100;
}
//引用静态方法
A.f();
//引用静态属性n
int r=A.n;
//B是非抽象类
class B
{
void static f()
{}
static int n=100;
}
//引用静态方法
B.f();
//引用静态属性n
int r=B.n;
而对象是类的实例化,类是对象的模板。可以用非抽象类来创建对象,然后使用类的实例方法和实例属性,如:
class A
{
void f()
{}
int n=1;
}
//创建一个类A的对象
A a1= new A();
//使用实例方法和属性
a1.f();
int r=a1.n;
此外,静态属性是属于类的,只有一个拷贝,被类的所有对象所共享。而实例属性是属于对象的,每个对象都有自己的一个实例属性的拷贝,彼此之间相互独立,互不影响。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询