在面向对象程序设计中:
1、类是程序的构件;每个类是-种对事物的抽象,包含对该类事物的属性描述和行为描述。2、对于类,有两种方式可以获得:
(1)一类是JAVA系统提供的可以直接使用的类一-标准类库(标准Jar包);
(2)我们自己可以建立(生产)组件(自定义类)
2、Java程序的结构
(1)一个java程序有一个或多个类组成,其中有且仅有一个含有main方法的主类。
(2)每个类,都有自己的属性和相关的对属性数据进行操作的方法。即:一个类,包含两部分内容:属性数据和方法。
(3)一般情况下,属性(数据成员)是私有访问方式。
(4)方法是实现对类中成员数据或对象进行加工处理,完成所要求的功能。通常是公共访问方式。方法一般分为:构造方法(创建对象使用的方法)设置值方法(修改属性的值)获取值方法(得到私有访问属性的值)其它的有关的数据处理方法(完成有关功能)。
声明格式:
public class 类名称{类的成员变量声明及初始化;}
关键字: classclass表明其后声明的是-一个类。
修饰符: publicpublic表明此类为公有类类体声明:{ }
类的成员变量声明及初始化可以有多个类的方法声明及方法体●可以有多个创建类命名规范:
(1)类名、属性名、方法名可以是多个单词构成的串,不能有间隔(空格)。
(2)类名单词的首字符大写;
(3)属性名、方法名第-个单词的首字符小写,其他单词首字符大写声明格式:变量数据类型变量名1;private变量数据类型变量名2;其中:变量数据类型:成员属性的类型可以是Java中任意的数据类型(包括简单类型,类,接口,数组)。
public class Yuan(private double X;private double у;private double r;}
其它信息声明格式:public返回类型方法名([参数列表]){方法体}
Java中常用方法,可以分为4类:
(1)类的构造方法;
(2)类的set方法,用于对类的成员数据,通过对象修改对象的某属性的数值;
(3)类的get方法,用以,通过对象,得到某对象的某属性的数值;
(4)完成规定要求的有关功能的处理方法,例如,对于圆类,需要计算圆的面积、周长。圆类的定义:public class Yuan(private double x,y,r;
public double getX()(return х; ]public double getY()(return у; }
public double getR()(return r; }
public: void setX(double а)(x=a; )public void setY(double а){y=a; }
public: void setR(double а){r=a; }public: double zc(){return 23.14r; }
public: double mj()(return 3.14rr; ]
public: Yuan(double а, double b, double с)( x=a;y=b; r=c; }public Yuan(){}}
系统提供的默认构造方法:-如果在类的声明中没有声明构造方法,则Java编译器会提供一个默认的构造方法;-默认的构造方法没有参数,其方法体为空;一使用默认的构造方法初始化对象时,如果在类声明中没有给实例变量赋初值,则对象的属性值为零或空。圆类的定义
:public class Yuan(private double x,y,r;ptvat dulaubl a, double ь. dublel( x=a;y=b;r=c; ]public Yuan(N)public Yuan()&x=0;r=0;-
this表示-一个对象,即本身。当形参与成员变量重名时,使用this,以便区别。当形参与成员变量不同名时,可以使用this,也可以不使用
this.public void eat(Strings) /I定 义带参数的eat方法,实现方法重载System.out. printIn(“Person can eat”+s);public Person()//I
定义无参构造函数,注意无返回值定义,方法与类同名
public Person(int age, String name) //重写-一个带参数构造函数,注意无返回值定义,方法与类同名
this.age = age,//前一个age为对象的字段,由this指定,后一个age为函数形参
this.name = name;//前一个name为对象的属性,由this指定,因为在本类中可直接访问,后一个name为函数形参1)声明:定义一个对象变量,创建类的对象引用。
例:Yuan circle1;Yuan circle2;这里只是说明,有两个圆的对象变量,并不存在真正的对象。(还需要形成实例)
(2)实例化和初始化:对象的声明,只是说明,有对象变量,并不存在真正的对象(还需要形成实例)。调用构造方法,形成一个真正的对象,并为所有的成员属性提供初始的值;执行过程:利用运算符new为对象分配内存空间,初始化类变量,调用对象的构造方法,返回对象引用。声明:Yuan circle1;Yuan circle2;
实例化和初始化:circle1 =new Yuan();circle2 = new Yuan(10, 10,50)也可以将声明和实例化合起来写:Yuan circle3 =new Yuan(0,0, 100);个圆类,保存在文件CiCircle.javapublicclassCirclelprivateintradius;: intgetRadius(){publicradius;return;publicCircle()radius=0;}}
总之,大部分与C++差不多