- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章_类与对象.ppt
*;*;*;面向对象编程(OOP);一切皆对象;对象(Object)的概念;对象的两个要素;对象的封装性能;类(Class);类的概念;抽 象(Abstraction);数据抽象;类与对象的关系;面向对象编程的原则;封 装(Encapsulation);封装下的访问限制;继 承(Inheritance);继承关系;多 态 (Polymorphism);多 态 示 例;*; 类与对象;;;对象;类的声明;类的修饰符;例:定义一个表示二维平面上点的类;[修饰符] 类名 对象名 = new 类名(实参列表);
或
[修饰符] 类名 对象名;
对象名= new 类名(实参列表);; Point thePoint;
注意:类属于复合数据类型,因此,在声明对象时,系统并没有为对象分配空间,用户需要应用new完成分配空间的任务。
thePoint = new Point( );
;引用成员变量
对象名.成员变量名
引用方法
对象名.方法名(参数列表);class Circle1 {
float r; //半径
final double PI = 3.14159;
public double area() { //计算面积
return PI*r*r;
}
public void setR(float x) { //设置半径
r = x;
}
;续:; 类中有一种特殊的成员方法,其方法名与类名相同,称为构造方法。
当使用new运算符实例化一个对象时,系统为对象创建内存区域并自动调用构造方法初始化成员变量。
;构造方法名与类名相同;
构造方法没有返回类型(void也不能有);
构造方法通常被声明为public;
构造方法的主要作用是对对象初始化。
构造方法不能显式地直接调用;
一个类中可以定义多个构造方法,但各构造方法的参数表不能相同,即各构造方法的参数个数不同或参数类型不同。;public class Triangle
{
int x,y,z;
public Triangle(int i, int j, int k) { //声明构造方法
x=i; y=j; z=k;
}
public static boolean judge(Triangle m) {
if( (m.x*m.x + m.y*m.y == m.z*m.z)
|| (m.y*m.y + m.z*m.z == m.x * m.x )
|| (m.x * m.x + m.z*m.z == m.y*m.y) )
return true;
else
return false;
}; public static void main(String args[ ]){
Triangle t1; //声明Triangle类对象t1
t1 = new Triangle(3,4,5); //实例化对象t1,调用构造方法
//对其进行初始化
if ( judge(t1) ) //调用judge()方法,判断t1的成员变量是
//否能构成直角三角型的3个边长
System.out.println(这是一个直角三角形);
else
System.out.println(这不是一个直角三角形);
}
}; Java实例—— 定义构造方法;public static void main(String args[ ]) {
Student1 zhang; //声明并创建zhang对象
zhang = new Student(张三,西安市兴庆路1号,3);
Student1 wang; //声明并创建wang对象
wang = new Student(王五,西安市翠华路12号,4);
文档评论(0)