




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习目标:理解面
象思想掌握Java类的定义和使用掌握Java对象的定义和使用掌握Java修饰符的含义掌握this关键字4.1
面
象的基本概念1.对象:具有某些特殊属性(数据)和行为方式(方法)的实体。可以是有生命的
;可以是无生命的
;可以是一个抽象的概念。两个特征:属性和行为如:一个人的属性有:
、
、
等行为有:唱歌、打球、骑车、学习等。对象的表示模型:成员变量(属性)方
法(行为)54.1
面
象的基本概念一个消息由
面内容组成:消息的接收者,即消息的目标对象;接收对象采用的方法;执行方法所需用的参数。对象B对象A2.消息:对象和对象之间是通过传递消息来完成相互通信的。message3.类:类是具有共同属性和行为的对象的抽象。类对象抽象实例化行为属性方法数据4.1
面
象的基本概念4.1
面象的基本概念4、面
象的基本特征封装:将数据成员和属于此数据的操作方法,放在同一个实体或对象中。对象A好处:模块化、信息隐藏私有数据方法方法数据公有数据对象B4.1
面象的基本概念好处:代码复用(Java只允许单继承)4、面
象的基本特征继承:子类利用父类中定义的方法和变量就像它们属于子类本身一样。自行车(超类或父类)(次类或子类)山地车双人自行车4.1
面象的基本概念4、面象的基本特征多态:一个类中可有许多同名的方法,但其参数数量与数据类型不同,而且操作过程与返回值也可能会不同。类void show(int
num)void
show(double
num)void show(int
num1, float
num2)1231.23123,1.23面
象编程:分析问题中有哪些对象从对象抽象出类定义类编程时根据需要动态生成对象4.1
面象的基本概念为什象符合人们思维方式?4.2.1
类的定义[类修饰符]class
类名{type
variable1;…type
variableN;type
method1(parameter-list){//方法体}…type
methodN(parameter-list){//方法体}}成员变量(对象属性)成员方法(对象行为或操作)类名(自定义的标识符)4.2
类例:class
Car
{intcolor;int
speed;void
brake()
{
…
}void
speedUp()
{…};void
slowDown()
{
…
}}计算机中的对象的原型现实生活中的对象public
class
MyDate{int
year,month,day;void
setDate(int
y,int
m,int
d){year=y;
month=m;
day=d;}boolean
isLeapYear(){if(year%400==0||year%4==0&&year%100!=0)return
true;elsereturn
false;}public
voidshowDate(){System.out.println(year+"-"+month+"-"+day);}}4.2.2
成员变量和局部变量成员变量[修饰符]<数据类型><名称>[=<初值>];static(静态变量或类变量)final(
常量,不能改变其值)public、(default)、protected、private例如:static
int
speed=80;int
speed;作用域:整个类内有效4.2.2
成员变量和局部变量System.out.println(s);}}局部变量:方法或语句块内定义的变量,局部有效public
class
A{public
static
void
main(String
args[])
{int
a=1;if(a==1){String
s="Happy
new
year!";}4.2.2
成员变量和局部变量局部变量在其作用域内覆盖同名成员变量public
class
A{int
a=0;public
static
void
main(String
args[])
{int
a=1;if(a==1){System.out.println(“局部变量覆盖同名成员变量”);}}}说明:变量的类型可以是java中任意的数据类型成员变量作用范围:类内有效局部变量作用范围:方法内或语句块内有效成员变量可以使用修饰符局部变量不可以使用修饰符局部变量在其作用域内覆盖同名成员变量4.2.2
成员变量和局部变量4.2.3
成员方法[修饰符]
类型
方法名([参数列表]){//
法体}返回类型public
void
changeSpeed(int
newSpeed){speed=newSpeed;}1、成员方法的定义static(静态方法或类方法)(抽象方法)、final(最终方法)public、(default)、protected、privatesynchronized(同步方法)4.2.3
成员方法2、方法的调用调用本类的方法方法名(参数列表)调用静态方法类.方法名(参数列表)调用对象的方法对象.方法名(参数列表)注意:有返回值可以获取返回值4.2.3
成员方法3、方法调用时参数的传递基本数据类型参数:传值类型参数:传4、方法嵌套和递归调用方法中可以调用方法方法中调用自身就是递归4.2.3
成员方法5、方法重载参数类型不同参数个数不同注意:参数返回值类型不能区分重载方法4.2.4
构造方法与类名相同无返回值类型创建对象时自动调用,不显示调用classRect{doublew,h;publicRect(doublea,doubleb){w=a;h=b;}double
computeArea(){return
w*h;}}说明:一般构造方法的(default)权限设置为public或如果在一个类里没有定义构造方法,系统提供一个默认的无参数无语句的构造方法。一个类可以定义多个构造函数,调用时根据实参决定调用哪一个构造函数。4.2.4
构造方法对象的类名
对象名;例:Rect
r;对象的创建对象名=new
类名([参数]);//创建对象4.2.5
类的对象//
对象调用构造方法例:r
=
new Rect
(
1,2
)
;3.使用对象对象.属性;对象.方法();4.2.6
关键字this代表当前对象(可省略)class
Tom{int
leg;void
setLeg(){this.leg=4;}}class
Tom{int
leg;void
print()
{this.printLeg();}void
printLeg()
{System.out.println(3);}}4.2.6关键字this用this区分成员变量和局部变量(不可省略)class
Tom{intleg;Tom(int
leg){this.leg=leg;}}构造方法经常这样写4.2.6关键字this有重载的构造方法时,用来其他的构造方法(不可省略)class
Tom{intleg;Tom()
{this(4);}Tom(int
leg)
{this.leg=leg;}}编写显示员工信息的程序。员工类:初始化员工ID和和
,输出员工ID和,修改员工ID。测试类:生成员工对象,设置员工信息,输出员工信息。练习4.3
修饰符修饰符(修饰类、成员方法和成员变量)控制符:private,protected,缺省,public,非
控制符:static,
final,,
native,
syncronized4.3
修饰符权限修饰符本类同一包中的类不同包中的子类不同包中的普通类private√缺省√√protected√√√public√√√√1.控制修饰符修饰成员变量和成员方法4.3
修饰符权限修饰符同一包中的类不同包中的类缺省√public√√1.控制修饰符修饰类4.3
修饰符2.
static类变量和实例变量有static修饰没有static修饰class
People{int
age;}static
boolean
ifBreath;对比项内存同类使用外类使用类变量占一块,加载时分配,实例共有直接用带类名直接使用,不必生成对象实例变量一个对象占一块实例方法直接用必先生成对象,然后再使用class
Lader{floatabove;//实例变量static
float
bottom;//类变量
void
setAbove(float
a){above=a;}void
setBottom(float
b){bottom=b;}float
getAbove(){return
above;}float
getBottom(){return
bottom;}}class
Example{public
static
void
main(String
args[]){Lader.bottom=60;System.out.println(Lader.bottom);Lader
laderOne,laderTwo;laderOne=new
Lader();laderTwo=new
Lader();System.out.println(laderOne.getBottom());System.out.println(laderTwo.getBottom());laderOne.setAbove(11);laderTwo.setAbove(22);laderTwo.setBottom(100);System.out.println(Lader.bottom);System
out
println(laderOne
getAbove());2.
static常量不占用对象的内存对象可以使用,不能更改常量往往使用static和final一块儿修饰4.3
修饰符有final修饰的变量例如:static
final
double
PI=3.14;问题:什么时候使用static修饰变量?实例共有的变量常量有static修饰2.
static类方法和实例方法没有static修饰class
People{voi
static
void
breath(){…}void
conBirthday(int
age){…}}对比项内存同类使用外类使用类方法占一块,加载时分配,实例共有直接用带类名直接使用,不必生成对象实例方法一个对象占一块实例方法直接用必先生成对象,然后再使用4.3
修饰符class
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024秋七年级语文上册 第二单元 7《散文诗二首》荷叶 母亲教学设计 新人教版
- 3我很诚实(教学设计)-统编版道德与法治三年级下册
- 《第4节 组装电脑了解电脑硬件的主要部件》教学设计 -2023-2024学年北师大版初中信息技术七年级上册
- 15《我们不乱扔》(教学设计)2024-2025学年统编版(2024)道德与法治一年级上册
- 5《我们的校园》第一课时(教学设计)-部编版道德与法治一年级上册
- 认知发展差异的教育意义
- 6 花儿草儿真美丽 教学设计-2023-2024学年道德与法治一年级下册统编版
- 2024秋四年级英语上册 Unit 2 My schoolbag第6课时(Read and write Story time)教学设计 人教PEP
- 2024-2025学年新教材高中语文 第3单元 探索与发现 群文阅读(三)学习科技 开拓创新教学设计 新人教版必修下册
- Unit 5 I Have a Bag (Period 3) (教学设计)-2024-2025学年陕旅版(三起)(2024)英语三年级上册
- 中小学国家教育智慧平台
- 2024年成都市新都区教育局所属事业单位招聘中小学教师笔试真题
- 2025-2030中国露酒行业市场深度分析及发展趋势与投资战略研究报告
- 生产车间5S管理制度
- 2025交管12123学法减分考试题库和答案
- T-JDFA 02-2024 江苏省转型融资主体认定评价标准
- 2025年开封大学单招职业倾向性测试题库汇编
- 2023学年杭州市余杭区七年级语文下学期期中考试卷附答案解析
- 贵州省县中新学校计划项目2025届高三下学期开学联考语文试题及答案
- 2023-2024年护师类之护师初级基础试题库和答案要点
- 《道路交通安全法》课件完整版
评论
0/150
提交评论