软件对象也有状态和行为。软件对象的状态是属性,行为通过方法实现。
在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成的。
类可以看成是创建java对象的模板。
通过下面一个简单的类来理解java中类的定义:
public class Dog{
String breed;
int age;
String color;
void barking(){
}
void hungry(){
}
void sleeping(){
}
}
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量自动销毁。
成员变量:成员变量定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中的方法、构造方法和特定类的语句块访问。
类变量:类变量声明也在类中,方法体之外,但必须声明为static类型。
一个类可以有多个方法,上面的例子中,barking() 、hungry()、sleeping()都是Dog类的方法。
每个类都有构造方法,如果没有显式的为类定义构造方法,java编译器将会该类提供一个默认构造方法。
在创建一个对象的时候,至少要调用一个构造方法,构造方法名称必须与类同名,一个类可以有多个构造方法。
public class Puppy{
public Puppy(){
}
public Puppy(String name){
}//这个构造器仅有一个参数:name
}
-------------此种情况下如何调用类里面的方法,如果有多个构造方法的话,因为都要求与类同名,按道理函数名不应该有一样的?疑问??
对象是根据类创建的。在java中,使用关键字new来创建一个新的对象。创建对象需要分以下三部分:
声明:声明一个对象,包括对象的名称和对象类型。
实例化:使用关键字new来创建一个对象。
初始化:使用new创建对象时,会调用方法初始化对象。
public class Puppy{
public Puppy(String name){
//这个构造器仅有一个参数NAME
System.out.println("小狗的名字是:"+name);
}
public static void main (String [] args){
//下面的语句将创建一个Puppy对象
Puppy myPuppy=new Puppy("tommy");
}
}
-----Puppy myPuppy是声明,后面NEW是创建,加上参数之后是调用初始化?理解是否正确??
访问实例变量和方法
通过已创建的对象来访问成员变量和成员方法
--实例化对象
ObjectReference = new Constructor();
访问类中的变量
ObjectReference.variableName;
访问类中的方法
ObjectReference.MethodName();