Java 类:在 Java 中使用类和对象
在本教程中,我们将了解 Java 中的类和对象。如果您需要复习Java 中的包,并获得有关编译和运行简单 Java 程序的帮助,请查看此处。
声明一个类
package caveofprogramming.aquarium;
public class Fish {
public static void main(String [] args) {
System.out.println("Hello");
}
}
在这里,我们声明了一个带有静态 main() 方法的最小类,以便它可以作为一个小的自包含程序运行。
该类已声明为public,这意味着所有类都可以从所有包访问该类。如果您的班级中有main(),则必须将班级设为公开。
但是,通常您会在 java 中声明类而不指定修饰符。
一个更复杂的例子
这是一个只有一个方法的类,speak()。
Food.java:
package caveofprogramming.aquarium;
class Food {
public void speak() {
System.out.println("Eat me!");
}
}
现在我们将让 Fish.java 使用 Food.java。我们将使 Fish.java 中的代码创建Food类的一个对象(换句话说,一个特定的实例)并调用我们定义的 speak() 方法。
C:John>javacaveofprogramming.aquarium.Fish
Eat me!
在这里,我们已经将 speak 方法声明为public。还有其他的可能性。
public:可以从任何其他类访问。
protected:只能从同一个包中访问。
private:只能从同一个类中访问。
在可能的情况下使用私有或受保护的;尽可能少地暴露你的代码。
构造函数
构造函数是在创建类的对象时调用的方法。构造函数与您的类具有相同的名称。
在下面的示例中,构造函数输出一条消息,而 main() 除了创建类的实例之外什么都不做。
package caveofprogramming.aquarium;
public class Fish {
// Constructor
protected Fish() {
System.out.println("Constructor called!");
}
public static void main(String [] args) {
Fish fish = new Fish();
}
}
C:work>java caveofprogramming.aquarium.Fish
Constructor called!
实例变量
当然,您的类可以包含数据和方法。变量可以是public、protected或private,就像方法一样。与方法一样,您应该在合理范围内使它们尽可能私有。
您还可以拥有静态数据成员,这些成员在类的所有对象之间共享。
以下示例说明了所有这些想法,并演示了一个接受参数的构造函数。
另外,请注意我们使用this来明确地引用对象的实例变量。
package caveofprogramming.aquarium;
public class Fish {
// static variables are shared by all instances
// of the class.
private static Integer count = new Integer(0);
// Non-static variables are specific to the object.
protected String name;
protected Integer number;
// Constructor
protected Fish(String name) {
// Set name to whatever's passed in.
this.name = name;
// Set number to whatever the count
// is at the moment.
this.number = count;
// Now increment count.
// count will then be a count of the number
// of objects created of the class.
count++;
}
// Show some stuff about the class.
protected void show() {
System.out.println(number.toString() +
". " + this.name);
}
// A main method just to run the whole thing.
public static void main(String [] args) {
Fish fish1 = new Fish("Lisa");
Fish fish2 = new Fish("Pete");
Fish fish3 = new Fish("Richard");
fish1.show();
fish2.show();
fish3.show();
}
}
0. Lisa
1. Pete
2. Richard
结论
类和对象是一个很大的主题。例如,我们这里没有涉及继承或接口。但是这里有足够的代码使您能够创建和使用基本类,或者如果您忘记了确切的语法而只需要复习一下,也可以使您能够使用类。
如果您还特别想在本文中看到任何其他内容,请随时发表评论。
推荐一个有趣的网站