说明: 1、类是描述对象的“基本原型”,它定义的一类对象所拥有的数据和能完成的操作。 2、在面向对象的程序设计中,类是程序的基本单元。 3、程序中的对象是类的一个实例,是一个软件单元,它由一组结构化的数据和在其上的一组操作组成。
1、类是Java的核心和本质。同时,类定义了对象的本质; 2、类定义了一种新的数据类型,可以用新类型类创建该类的对象; 3、类是对象的模板,对象是类的实例。
1、变量:指对象的状态 2、方法:指对象的功能单元 3、消息: 软件对象通过相互间传递消息来相互作用和通信,一个消息由三部分组成。分别是 接受消息的对象、接受对象要采用的方法、方法的参数
类的严格定义及修饰符
[类的修饰符] className [extends paterClassName][implements list] { 变量定义及初始化; 方法定义及初始化; }
class Person{ private String name;//定义属性 public Person() { //无参构造方法 System.out.println("This is person!"); } public void eat() {//普通方法 System.out.println("吃饭没?"); } }修饰符包括:public 、abstract(抽象) 、final(不可继承)等
说明:决定变量的可使用范围。 1、全局变量:变量可以在整个类中使用; 2、局部变量:只能在定义其的代码块中使用。 注:局部变量比全局变量更安全。
1、全局变量: 实例成员变量:单独对象拥有,修改对象自己的实例变量,不影响其他对象; 类成员变量(简称变量或静态变量):被所有对象共享,有static修饰。 成员变量自动初始值表:
数据类型初值booleanfalsebyte/short/int/long0float0.0fdouble0.0dchar‘\u0000’对象类型null2、局部变量: 定义在方法体中,使用前必须初始化,否则报错。
public class Test { //变量举例: //全局变量之静态变量,类变量 static修饰,被所有对象共享 static String country="中国"; //全局变量之实例变量,单个对象独有 String name="小明"; int age=10; void test() { int i=9;//局部变量,只能在test内使用,使用前必须初始化 System.out.println(i); } public static void main(String[] args) { //变量的使用 //静态方法中不允许直接实例变量,但可以直接访问静态变量 //类变量的使用:类名.变量名 System.out.println(Test.country); System.out.println(country); //实例变量的使用,创建对象后:对象.变量名访问 Test test1=new Test(); System.out.println("test1.name="+test1.name); test1.name="小强"; System.out.println("test1.name="+test1.name); } }1、方法的定义及修饰字
[方法修饰符] 返回类型 方法名称 (形参1,形参2,……) { …(statements;)//方法体:方法的内容 }
修饰符:public ,protected, private, statics, final, abstract, native, synchronized 2、构造方法 说明:构造方法是一种特殊的方法。Java的每个类都有构造方法,用来初始化类的一个新对象。构造方法具有和类名称相同的名称,而且不返回任何数据类型。系统在创建时自动执行。 作用: 1)定义一些初值或者内存配置工作; 2)一个类可以有多个构造方法,由参数决定调用哪一个; 3)若未定义构造方法,系统在创建时自动调用缺省构造方法。 3、方法重载 方法重载即指同一个类内多个方法可以享有相同的名字。但是这些方法的参数必须不同(参数个数不同,参数类型不同,参数顺序不同)。 举例:
public class Test { //方法举例 //有无参数以及返回值 //按照功能划分:实例方法,类方法(静态方法),构造方法 //构造方法:每创建一次对象调用一次。 public Test() {//构造方法 System.out.println("构造方法!!"); } static void test01() { System.out.println("静态方法"); } public void test02() { System.out.println("实例方法……"); } public void test02(String a) { System.out.println("test02 的方法重载"); } public static void main(String[] args) { //方法调用 //静态方法 通过类名.方法调用 test01(); Test.test01(); //调用构造方法 Test te=new Test(); //调用实例方法 te.test02(); te.test02("ass"); } }指代当前对象。
class Person{ int age; private String name; public Person() { System.out.println("This is person!"); } public int getAge() { return age; } public void setAge(int age) { this.age = age;//成员变量与局部变量同名,this指代成员变量 } public String getName() { return name; } public void setName(String name) { this.name = name; } }总结 1、类与对象的相关概念 2、类的定义 变量定义、方法定义、方法重载、this关键字 3、类定义的注意事项