一、类和对象的基本概念
类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
比如说小猫,小狗,老鹰,狮子都是动物,灌木,杨树,野草,鲜花都属于植物,这就是类
对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
书本语言是这样说的“对象是类的一个实例,一个类可以有无数对象”。在我看来上面例子中的小猫,小狗就是动物类的对象。
二、类和对象的定义和使用
在JAVA中使用关键字Class声明一个类,基本语法如下:
//创建类
class <class_name>{
field;//成员属性
method;//成员方法
}
class为定义类的关键字,Class name为类的名字,{}中为类的主体。
类中的元素称为:成员属性。类中的函数称为:成员方法。
示例:定义一个Person类
class Person {
public int age;//成员属性 实例变量
public String name;
public String sex;
public void eat() {//成员方法
System.out.println("吃饭!");
}
public void sleep() {
System.out.println("睡觉!");
}
}
类定义完成之后,肯定无法直接使用。如果要使用,必须依靠对象。那么如何实例化一个对象,看这里:
//实例化对象
<class_name> <对象名> = new <class_name>();
当一个实例化对象产生之后,可以按照如下的方式进行类的操作:
对象.属性:表示调用类之中的属性;
对象.方法():表示调用类之中的方法。
示例:
class animal{
/*类的属性*/
String name;
int age;
/*类的方法*/
public void eat() {
System.out.println("吃饭!");
}
public void sleep() {
System.out.println("睡觉!");
}
}
public class Test{
public static void main(String[] args) {
animal cat = new animal();//通过new实例化对象
cat.eat(); //成员方法调用需要通过对象的引用调用
cat.sleep();
//产生对象 实例化对象
animal dog = new animal();
animal bird = new animal();
}
}
static关键字
- 修饰属性
Java静态属性和类相关, 和具体的实例无关。 换句话说, 同一个类的不同实例共用同一个静态属性。
示例:
class TestDemo{
public int a;
public static int count;
}
public class Main{
public static void main(String[] args) {
TestDemo t1 = new TestDemo();
t1.a++;
TestDemo.count++;
System.out.println(t1.a);
System.out.println(TestDemo.count);
System.out.println("============");
TestDemo t2 = new TestDemo();
t2.a++;
TestDemo.count++;
System.out.println(t2.a);
System.out.println(TestDemo.count);
}
}
运行结果:
1
1
============
1
2
我们可以看到两个对象调用的被static修饰的count是同一个。
- 修饰方法
如果在任何方法上应用static 关键字,此方法称为静态方法。
- 静态方法属于类,而不属于类的对象。
- 可以直接调用静态方法,而无需创建类的实例。
- 静态方法可以访问静态数据成员,并可以更改静态数据成员的值。(不可以访问非静态数据)
示例:
class TestDemo{
public int a;
public static int count;
public static void change() {
//a = 10; error 不可以访问非静态数据成员
}
}
public class Main{
public static void main(String[] args) {
TestDemo.change();//无需创建实例对象 就可以调用
System.out.println(TestDemo.count);
}
}
输出结果:
100
未完待续……