JAVA4OO1Word格式文档下载.docx

上传人:b****6 文档编号:20033950 上传时间:2023-01-16 格式:DOCX 页数:15 大小:20.73KB
下载 相关 举报
JAVA4OO1Word格式文档下载.docx_第1页
第1页 / 共15页
JAVA4OO1Word格式文档下载.docx_第2页
第2页 / 共15页
JAVA4OO1Word格式文档下载.docx_第3页
第3页 / 共15页
JAVA4OO1Word格式文档下载.docx_第4页
第4页 / 共15页
JAVA4OO1Word格式文档下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

JAVA4OO1Word格式文档下载.docx

《JAVA4OO1Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA4OO1Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。

JAVA4OO1Word格式文档下载.docx

//输出这个人的名字,通过.连接符访问

System.out.println(p.name);

System.out.println(p.age);

p.name="

yasuo"

;

p.gender="

男"

p.age=20;

p.hight=180;

p.weight=70;

p.race="

汉族"

p.diamond="

高富帅"

//声明时默认值是null

System.out.println(p1);

System.out.println("

====="

);

//nullpointexception

System.out.println(p1.name);

}

}

方法

publicclassStudent{

publicStringname;

publicStringgender;

publicintage;

//实例属性/普通属性

publicinthight;

//类属性,不建议使用

publicstaticStringrace;

//方法代表学生具有的行为,具有一种共性

publicvoidsleep(){

sleep"

publicintwalk(){

walk"

//结束了方法,并返回一个整数值

return10000;

publicStringeat(){

eat"

return"

吃的榴莲"

/**

*实例方法

*@paramgameName(形參)

*遊戲名稱

*/

publicvoidplayGame(StringgameName){

System.out.println(gameName);

*@paramlevel(形參)

*遊戲等級

publicvoidplayGame(StringgameName,intlevel){

System.out.println(gameName+"

"

+level);

//类方法

publicstaticvoidtest(){

类方法"

方法的调用

//將學生類导入到当前文件中,这样我们就可以操作这个学生类

importcom.cognizant.model.Student;

/**

*方法属性的调用都是通过实例去调用的,这里的实例是指我们创建出来的,不可能是空

*否则会报空指针异常

*@authortzhang

publicclassMain{

publicstaticvoidmain(String[]args){

//創建一個學生實例

Studentstu=newStudent();

//属性的访问

System.out.println(stu.name);

stu.name="

魏子安"

//方法的访问,调用walk方法,执行walk方法体,执行结束后,

//再回到此处,也就是调用的地方,

//方法的执行结果就是返回了他return部分的内容

intreturnVal=stu.walk();

//方法的直接调用

stu.sleep();

stu.walk();

System.out.println(returnVal);

方法执行结束"

System.out.println(stu.eat());

//按住ctrl,移動鼠標到方法調用的名字上,單擊鼠標左鍵

//"

王者榮耀"

-》实参

stu.playGame("

Stringgame="

intlev=1;

//gamelev是实参

stu.playGame(game,lev);

//类方法的调用,可以直接通过类.方法名调用,不需要通过实例调用

Student.test();

//不建议使用,底层调用会转换为通过类的方式调用

stu.test();

System.out.println(Student.race);

构造器

•构造器最大的用处就是在创建对象时执行初始化,初始化类中的属性

•如果程序员没有为Java类提供任何构造器,则系统会为这个类提供一个无参的构造器。

•一旦程序员提供了自定义的构造器,则系统不再提供默认的构造器。

//无参构造器,如果有参数,有参构造器,参数称为形参

//参数的来源,一般为实例属性

//构造器的名字,就是类名

publicStudent(){

//构造器重载

publicStudent(Stringname,Stringgender){

this.name=name;

this.gender=gender;

publicStudent(Stringname,Stringgender,intage,intheight){

//调用的是含有2个参数的构造器

this(name,gender);

this.age=age;

this.height=height;

对象this的引用

this关键字总是指向调用该方法的对象.

1.构造器中引用该构造器执行初始化的对象

2.在方法中引用调用该方法的对象

3.this用于区别属性和局部变量

注:

this不能用在有static修饰的方法中(原因)

方法的重载

*与上面下面相邻的方法都是方法重载,方法重载只关注

*1、同一个类中

*2、方法名相同

*3、形参列表不同

*其他都不管(如返回值类型)

*@paramlevel

*@return

publicintplayGame(intlevel){

returnlevel;

递归

*求阶乘的递归

*@parami

privatestaticintfactorial(inti){

//考虑i<

0或者i=1的情况

if(i==1||i==0){

return1;

}

returni*factorial(i-1);

//存在着方法调方法,一个return只能结束一个方法,所以一开始的那个return最后结束

//returnreturn

//3*factorial

(2)-》3*2*factorial

(1)->

3*2*1

//4*factorial(3)-》4*3*factorial

(2)->

4*3*2*factorial

(1)

//4*3*2*1

长度可变的参数

*

*@paramsubject

*科目

*@paramgrade

*长度可变的形参(0-无穷),必须在参数的最后一个,数据类型后面加上三个点,

*后面跟着参数名就行,grade接收参数后是一个数组

publicvoidscore(Stringsubject,int...grade){

System.out.println(subject);

System.out.println(grade.length);

for(inti:

grade){

System.out.print(i+"

System.out.println();

局部变量

局部变量可分为三种:

1.形参

2.方法局部变量

与成员变量不同的是除了形参外,其他局部变量都必须显式地初始化

publicclassMain1{

staticStringstr="

hello"

Stringstr="

world"

System.out.println(str);

//world

•局部变量仅在方法内有效,当方法执行完成时,局部变量便会自动销毁

成员变量

方法外,类内部定义

局部变量与成员变量他们定义的位置?

局部变量与成员变量他们的作用域?

引用传递

值传递(基本数据类型)

publicclassValTran{

//值传递-传递的是变量值-基本数据类型

inty=20;

baseTran(y);

System.out.println(y);

//20

//值传递(引用传递)-传递的是地址值-引用数据类型(String除外)

Studentstu=newStudent("

李白"

"

referenceTran(stu);

//杜甫

staticvoidbaseTran(inty){

y=y+10;

staticvoidreferenceTran(Studentstu){

stu.name="

杜甫"

类的get,set方法会使用Split方法使用

//private只能在当前类中可以访问,访问方式.

privateStringname;

privateStringgender;

privateintage;

privateintheight;

publicStudent(Stringname,Stringgender,intage,intheight){

super();

//alt+shift+s

//获取属性值

publicStringgetName(){

returnname;

//修改或设置属性

publicvoidsetName(Stringname){

publicStringgetGender(){

returngender;

publicvoidsetGender(Stringgender){

publicintgetAge(){

returnage;

publicvoidsetAge(intage){

publicintgetHeight(){

returnheight;

publicvoidsetHeight(intheight){

//toString方法输出学生基本信息

@Override

publicStringtoString(){

name="

+name+"

gender="

+gender+"

age="

+age+"

height="

+height;

stu.setName("

stu.setGender("

stu.setAge(20);

stu.setHeight(180);

System.out.println(stu.toString());

//修改学生信息

//获取年龄

System.out.println(stu.getAge());

//构造器初始化数据

Studentstu1=newStudent("

李清照"

女"

20,180);

System.out.println(stu1.toString());

//String的split分割字符串,得到一个字符串数组

Scannerscanner=newScanner(System.in);

请输入信息:

姓名性别年龄身高"

Stringstr=scanner.nextLine();

String[]info=str.split("

if(info.length==4){

//字符串怎样转换为整数

Strings="

123"

intx=Integer.parseInt(s);

Studentstu2=newStudent(info[0],info[1],

Integer.parseInt(info[2]),Integer.parseInt(info[3]));

System.out.println(stu2.toString());

作业:

编写一个应用程序绘制一个如下的操作菜单并实现功能(定义一个类学生表示学生)

nextLine(),默认一共有100个学生,一维数组-》一维对象(student)数组

*****************************

|1.增加学生|

|2.显示学生|

|3.修改学生|

|4.删除学生|

|5.查找学生|

|6.退出程序|

|请输入选择(1-6):

|

*****************************

1、Scanner学号姓名班级

2、数组-》对象数组-》Student[]102=5

当前有多少位学生,一共多少页,默认显示显示第一页数据,

提供功能,输入页数时,显示指定页数的数据

3、构造器实现学生信息的初始化

4、添加学生就是赋值,删除学生就是赋值(null)

5、修改学生,遍历学生是否存在-》yes-》set方法修改学生信息

6、显示学生,遍历数组,toString方法输出学生信息

7、退出,循环次数不固定,所以使用while循环,控制while循环的准入条件实现退出

提示:

*主要完成功能

*

publicclassTool{

publicvoidoutputMenu(){

publicvoidadd(Studentstu){

publicvoidupdate(){

publicvoiddelete(Stringsno){

publicvoidselectBySno(Stringsno){

publicvoidselectAll(){

publicclassDemo{

//控制主逻辑,方法流程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1