快捷搜索:  汽车  科技

java对象结构,Java学习对象和类

java对象结构,Java学习对象和类在创建一个对象的时候 至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。构造方法:每个类都有构造方法。如果没有显示的为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。下图中 男孩(boy) 、 女孩(girl) 、为 类(class) ,而具体的每个人为该类的 对象(object) :通过上图可以定义一个Java类:/* 定义名为 Boy 的类,该类包含两个属性和两个行为 */ public class Boy{ String name;//定义了名为 name 的 String类型属性 int age;//定义了名为 age 的 int类型属性 void run(){//定义了名为run的行为(方法) } void walk(){//定义了名为walk的行为(方法) } }一个类可以包含一下类型变量:局部变量

对象和类

从认识的角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象。

从代码运行角度考虑是先有类后有对象。类是对象的模板。

对象:对象是类的一个实例,有状态和行为。

类:类是一个模板,它描述一类对象的行为和状态。

下图中 男孩(boy)女孩(girl) 、为 类(class) ,而具体的每个人为该类的 对象(object) :

java对象结构,Java学习对象和类(1)

通过上图可以定义一个Java类:

/* 定义名为 Boy 的类,该类包含两个属性和两个行为 */ public class Boy{ String name;//定义了名为 name 的 String类型属性 int age;//定义了名为 age 的 int类型属性 void run(){//定义了名为run的行为(方法) } void walk(){//定义了名为walk的行为(方法) } }一个类可以包含一下类型变量:

  • 局部变量 :在方法、构造方法或者语句块中定义的变量,变量声明和初始化都是在方法中,方法结束后变量就会自动销毁。
  • 成员变量 :成员变量是定义在类中,方法体之外的变量,这种变量在创建对象的时候实例化,成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量 :类变量也定义在类中,方法体之外,但必须是static修饰符修饰的变量。

一个类可以拥有多个方法,在上面的例子中:run()、walk()都是Boy类的方法。

构造方法:每个类都有构造方法。如果没有显示的为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。

在创建一个对象的时候 至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

下面示例,为上面的Boy类定义构造方法

public class Boy{ String name; int age; void run(){ } void walk(){ } public Boy(){ //这是最简单的构造方法 } public Boy(String name){ //这个构造方法仅有一个参数:name System.out.println("我的名字是:" name) } }

创建对象:

对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:

  • 声明:声明一个对象,包括对象名称和对象类型。
  • 实例化:使用关键字 new 来创建一个对象。
  • 初始化:使用 new 创建对象时,会调用构造方法初始化对象。

下面是一个创建对象的例子:

public class A{ public A(String name){ //这是个只有一个参数的构造方法 System.out.println("我的名字是:" name); } public static void main(String[] args){ A myA = new A("type(光)");//这里用关键字 new 创建对象 } }

编译并运行上面代码,会打印一下结果

我的名字是:type(光)

学习笔记:为什么Java文件中只能含有一个public类?

Java程序是从一个 public 类的 main 方法开始执行的,就像 C 程序是从 main() 函数开始执行一样。只能有一个 public 类是

为了给类装载器提供方便。一个 public 类只能定义在以它的类名为文件名的文件中。

每个编译单元(文件)都有一个 public 类。因为每个编译单元都只能有一个公共接口,用 public 类来表现。该接口可以与文件

名相同(严格区分大小写)。当然一个编译单元内也可以没有 public 类。

类变量类型

public class A(){ int age;//成员变量 public static void main(String[] args){ } }

public class A(){ static int age;//类变量 public static void main(String[] args){ } }

public class A(){ public static void main(String[] args){ int age;//局部变量 } }类的构造方法

  1. 构造方法的名字和类相同,可以有多个构造方法,并且没有返回值。
  2. 构造方法主要用于为类的对象定义初始化状态。
  3. 不能直接调用构造方法,必须通过关键字 new 来自动调用,从而创建类的实例
  4. Java的类都要求有构造方法,如果我们没有自己定义构造方法,Java编译器会默认提供一个无参数的构造方法。
new 关键字的作用
  1. 为对象分配内存空间。
  2. 引起对象构造方法的调用
  3. 为对象返回一个引用。

猜您喜欢: