您的位置:首页 > 编程语言 > Java开发

Java技术_Java千百问(0029)_类、对象到底有什么秘密

2016-04-15 14:46 567 查看
点击进入_更多_Java千百问

1、类、对象的概念是什么

Java是目前应用最为广泛的面向对象特的语言,它具有以下基本概念:



对象

方法

抽象化

多态性

继承

封装

我们首先看看类和对象的概念。

类是一个模版。是一个可以定义一类具有相同属性、行为的模版。

例如:狗是一个类,它具有四肢、尾巴、头、脊椎等属性,具有吠叫、吃、繁殖等行为。

对象

对象是一个具体实例。根据是一个类的具体实例。

例如:我家对门养的一只狗,具体到了某一只。

2、Java如何定义类

类的定义如下︰

public class Dog{
String breed;
int age;
String color;

void barking(){
}

void hungry(){
}

void sleeping(){
}
}


类有以下关键点:

1、类可以包含以下任意类型的变量。

局部变量、实例变量、类变量。了解三者详情看这里:局部变量、类变量、实例变量有什么区别

2、类可以有任意数量的方法。

在上面的例子中,该类拥有barking(), hungry() 和 sleeping()三个方法。

3、类的构造函数

有关于类的讨论,其中最重要的部分之一是构造函数。每个类都有一个构造函数,如果我们不明确地写一个构造函数的类,Java编译器生成一个默认的构造函数(无参数的)。

在每次创建一个类的新对象时,至少有一个构造函数被调用,在这里会按照不同需求初始化一些对象内部的属性。

构造函数的主要规则是,他们应该具有相同的名称作为类。一个类可以有多个构造函数(当然每一个的参数都应该不同)。

构造函数的例子如下︰

public class Puppy{
public Puppy(){
}

public Puppy(String name){
// This constructor has one parameter, name.
}
}


Java还支持单实例类,在这里能够创建的类只有一个实例。更多单例模式看这里:单例模式(Singleton)

3、java中如何创建对象

如前面提到的,类提供的是模版,所以基本上一个对象是根据一个类创建的。

在Java中,使用关键字new创建新的对象。

根据类创建对象有三个步骤:

- 声明: 变量声明,一个变量名的对象类型。

- 实例化: 使用new关键字创建对象。

- 初始化: 关键字new后跟调用一个构造函数。初始化新的对象。

创建对象的实例:

public class Puppy{

public Puppy(String name){
// This constructor has one parameter, name.
System.out.println("Passed Name is :" + name );
}
public static void main(String []args){
// Following statement would create an object myPuppy
Puppy myPuppy = new Puppy( "tommy" );
}
}


将产生以下结果:

Passed Name is :tommy

4、如何访问对象的实例变量和方法

实例变量和方法是通过刚才创建的对象来访问的。

要访问一个实例变量和方法如下:

/* First create an object */
ObjectReference = new Constructor();

/* Now call a variable as follows */
ObjectReference.variableName;

/* Now you can call a class method as follows */
ObjectReference.MethodName();


例子:

public class Puppy{

int puppyAge;

public Puppy(String name){
// This constructor has one parameter, name.
System.out.println("Passed Name is :" + name );
}
public void setAge( int age ){
puppyAge = age;
}

public int getAge( ){
System.out.println("Puppy's age is :" + puppyAge );
return puppyAge;
}
public static void main(String []args){
/* Object creation */
Puppy myPuppy = new Puppy( "tommy" );

/* Call class method to set puppy's age */
myPuppy.setAge( 2 );

/* Call another class method to get puppy's age */
myPuppy.getAge( );

/* You can access instance variable as follows as well */
System.out.println("Variable Value :" + myPuppy.puppyAge );
}
}


将产生以下结果:

Passed Name is :tommy

Puppy’s age is :2

Variable Value :2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: