JAVA——类和对象(一)

一、类和对象的基本概念

类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
比如说小猫,小狗,老鹰,狮子都是动物,灌木,杨树,野草,鲜花都属于植物,这就是类
对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
书本语言是这样说的“对象是类的一个实例,一个类可以有无数对象”。在我看来上面例子中的小猫,小狗就是动物类的对象。

二、类和对象的定义和使用

在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关键字

  1. 修饰属性
    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是同一个。

  1. 修饰方法
    如果在任何方法上应用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

未完待续……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值