这次我们从Java的类和对象开始讲起,Java作为一门面向对象的语言,雷和对象就是他的核心也是最基础的东西。
类和对象我们可以这么理解:
就如同我们人类,我们人类是一个可以使用工具,等一系列行为特征的一个大类,所以人类就可以称为一个类,而某个人则是一个实例对象,他有人类的一些共有特性。
下图中男孩(boy)、女孩(girl)为类(class),而具体的每个人为该类的对象(object):
下图中汽车为类(class),而具体的每辆车为该汽车类的对象(object),对象包含了汽车的颜色、品牌、名称等。
所以说类可以看做是创建对象的模板。
就上图而言,我们可以用代码来解释:
我们创建一个Dog的大类,Dog的有品种,大小,年纪,颜色,名字,特性是跑步,吃,睡觉。
package com.company;public class Dog { private String name; private int age; private String color; private int size; public Dog(String name, int age, String color, int size) { this.name = name; this.age = age; this.color = color; this.size = size; } public Dog() { } public static void main(String[] args) { }}我们再构造他们的特性,吃饭,睡觉,跑步,这是他们的共有特性
public void run(){ System.out.println("dog like run"); } public void eat(){ System.out.println("dog like eat"); } public void sleep(){ System.out.println("dog like sleep"); }前面的构造方法就是我们需要new关键字去创建对象时用的,分为无参构造和有参构造,这里使用的是有参构造函数去创建实例对象,这里不做详细的讲解,下面会对这一部分做详细的讲解吗,然后我们创建两个Dog对象,大黄和小黑
Dog dog1 = new Dog("大黄",2,"黄色",19);Dog dog2 = new Dog("小黑",1,"黑色",15);System.out.println(dog1);System.out.println(dog2);然后我们可以用Dog实例对象去调用它们的特性方法
dog1.eat();dog1.sleep();dog1.run();dog2.eat();dog2.sleep();dog2.run();对象是根据类创建的。在Java中,使用关键字 new 来创建一个新的对象。创建对象需要以下三步:
在一个类中,构造函数是必须有的,自己没定义的时候系统会默认给你添加上一个无参的构造函数,构造函数可以有多个,名字必须与类名相同。
public Dog(String name, int age, String color, int size) { this.name = name; this.age = age; this.color = color; this.size = size; } public Dog() { } public Dog(String name) { this.name = name; } public Dog(String name, int age) { this.name = name; this.age = age; }例如上面的构造函数,名字必须相同,但是参数的个数可以不同,可以为单参,双参,无参等等。
在本节的最后部分,我们将学习源文件的声明规则。当在一个源文件中定义多个类,并且还有import语句和package语句时,要特别注意这些规则。
类有若干种访问级别,并且类也分不同的类型:抽象类和 final 类等。这些将在访问控制章节介绍。
除了上面提到的几种类型,Java 还有一些特殊的类,如:内部类、匿名类。
包主要用来对类和接口进行分类。当开发 Java 程序时,可能编写成百上千的类,因此很有必要对类和接口进行分类。
在 Java 中,如果给出一个完整的限定名,包括包名、类名,那么 Java 编译器就可以很容易地定位到源代码或者类。import 语句就是用来提供一个合理的路径,使得编译器可以找到某个类。
例如,下面的命令行将会命令编译器载入 java_installation/java/io 路径下的所有类。
| 留言与评论(共有 0 条评论) “” |