首页 > 代码库 > J2SE基础:1.类和对象基础

J2SE基础:1.类和对象基础

什么是对象


在Java语言,所有的人,事物或者模块都是一个对象。
相同的对象具有一些相同的特性。

狗,猫,蛇3个对象(动物的对象)

苹果,梨,桔子3个对象(水果的对象)


什么是类


可以将现实生活中的对象经过抽象
这种抽象数据类型称为类。
动物类(Animal)
水果类(Fruit)


类和对象的关系


类是对象的模板(抽象化表示),对象是类的实例化(具体化的展现)


类的组成结构



Java是纯面向对象(除了8种基本数据类型)
而对象是从类产生的。因此类是组成Java程序最基本也是最核心的
元素。


   变量(属性,成员变量)

   方法(函数,成员方法,责任)

   消息(对象与对象之间的通讯,对象数据之间的传递)

属性的定义



   属性的的定义



   属性的初始值(默认值)
booleanfalse
byte/short/int/long 0
float 0.0f
double 0.0d
char ‘\u0000’
对象类型 null


  变量的分类与作用域


类变量:类对象属于对象。static修饰的变量称为类变量。
静态区中。只实例化一次,因此只占据一次内存。

对象的成员变量:成员变量是属于对象。
堆区。

局部变量。局部方法中定义的变量,以及形式参数都是局部变量。
栈区。


  变量的作用域(生命周期)

就是不同类型的变量在内存中存活的时间。


方法的分类:
按返回值划分:
有返回值
无返回值


按参数划分:
有参数方法
无参数方法


void sum(int x,int y):参数定义之间,用逗号隔开。

sum(x,y);//调用也是用逗号隔开。



实参(实际的参数)

形参(形式参数)。


参数传递时,实参传给形参有两种方式:

A:如果传递是基本数据类型的话,那么只是值的拷贝。

B:如果传递是对象类型的话,那么传递的是对象的地址。
按功能方法

构造方法

实例方法(对象方法,成员方法)

类方法

构造方法:

是实例化对象必须执行的操作。
用于构建一个新的对象的初始化操作。

如果没有构造方法的话,系统自动创建一个空的构造方法。

如果有构造方法的话,系统将不再构建。


/**
 * 定义一个Student的类
 */
public class Student{
	//属性声明的部分
	int stu_id;
	char stu_sex;
	String stu_name;

	//类变量
	static String class_id = "JN1001";


	//有返回值的方法
	int getScore(){
		//定义局部变量
		int english = 0;
		return english;
	}
	int getScope2(){
		double math = 12.345;

		return (int)math;
	}
	//无返回值的方法
	void study(){
		System.out.println("大家在学习Java");
	}	

	public static void main(String args[]){
		Student stu = new Student();
		stu.study();
		
		int result = stu.getScore();

		int result2 = stu.getScope2();
		System.out.println("result = "+result + ",result2 = "+result2);

	}



}

public class Student_Method{

	//构造方法
	public Student_Method(){
		System.out.println("对象的构造方法");
	}

	//对象(成员)方法
	int divde(int x,int y){
		return x / y;
	}

	//类方法
	static int sum(int x,int y){
		return x + y;
	}

	public static void main(String args[]){
		//调用类方法
		Student_Method.sum(2,3);

		//调用成员方法
		//Student_Method.divde(2,3);	//不能调用
		System.out.println("1111");
		Student_Method test = new Student_Method();
		System.out.println("222");
		test.divde(3,4);
	}
}