浪潮-java核心逻辑第1章_第1页
浪潮-java核心逻辑第1章_第2页
浪潮-java核心逻辑第1章_第3页
浪潮-java核心逻辑第1章_第4页
浪潮-java核心逻辑第1章_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OracleJavaEE实训教材系列之一Java面向对象的核心逻辑课程目标掌握面向对象编程思想掌握集合的应用掌握多线程的应用掌握文件的读写掌握JDK新特性贯穿案例商超购物系统1商超系统作为贯穿整门课程的案例,实现了超市购物、收银、商品管理及管理员维护等功能学完每一章后,可以完善相应的功能贯穿案例企业QQ2企业QQ是一个当前流行的企业内部通信工具,实现了局域网内的添加

好友、聊天等功能整门课程学完后,学员可以完成企业QQ项目(部分功能)课程结构基本语法面向对象编程思想Java高级应用JDK新特性Java的起源和发展注释、包、变量等基本语法Java流程控制函数的定义与调用数组的创建与使用类和对象面向对象三大特性三个修饰符接口的特点及应用Object类、包装类、内部类的特点List、Set、Map接口的特点与使用泛型的使用异常的分类及处理多线程的开发及线程同步文件的读写网络编程类对象的创建及反射的好处JDK5新特性JDK6新特性JDK7新特性基础串讲第1-5章第6-11章第12章第1章面向对象本章目标对象的概念类的概念

方法的重载(Overloading)

构造方法

对象与引用this关键字本章结构属性与方法面向对象对象与引用对象与类this关键字实例变量方法的重载方法的定义构造方法String类类的创建类与对象的关系对象的创建对象的概念什么是对象?一切客观存在的事物都是对象

对象的组成属性方法计算机世界中的对象类的概念

类是什么?类是对大量对象共性的抽象类是客观事物在人脑中的主观反映类是创建对象的模板publicclassStudent{Stringname;intage;}定义类创建对象classStudent{ Stringname; intage;}

创建对象newStudent();

定义一个变量引用(指向)创建的对象

Students;s=newStudent();Students=newStudent();定义类创建对象publicclassTestClassObject{publicstaticvoidmain(String[]args){Students1;s1=newStudent();Students2=newStudent();}}classStudent{Stringname;intage;}实例变量publicclassTestClassObject{publicstaticvoidmain(String[]args){Students1=newStudent();=“suns”;Students2=newStudent();=“xiaohei”;System.out.println();}}classStudent{Stringname;intage;}实例变量publicclassTestObjectVar0{publicstaticvoidmain(String[]args){Students=newStudent();System.out.println();}}classStudent{Stringname;intage;}实例变量与局部变量的区别

实例变量存在默认值classStudent{Stringname="suns";intage;}实例变量与局部变量的区别

实例变量至少在本类的范围内有效classStudent{publicvoidprint(){System.out.println(name);

}Stringname="suns";intage;}实例变量与局部变量的区别

实例变量可以和局部变量命名冲突,局部变量优先使用classStudent{Stringname="suns";intage;publicvoidprint(){intage=20;System.out.println(age);

}}实例变量与局部变量的区别

实例变量有默认值

实例变量至少在本类范围中有效

实例变量可以和局部变量发生命名冲突,局部优先

方法

修饰符返回值类型方法名(参数1,参数2)异常{

方法体}publicvoidprint(){System.out.println("thisismethod");}方法publicclassTestMethod{publicstaticvoidmain(String[]args){Students=newStudent();s.print();intresult=s.add(2,3);System.out.println("resultis"+result);

}}方法classStudent{intage=20;publicvoidprint(){System.out.println("ageis"+age);}publicintadd(inti,intj){returni+j;}}方法重载

方法重载(Overloading)总结起来一句话:名字相同、参数列表不同classA{

//参数个数不同voidm(){}voidm(inta){}voidm(inta,intb){}//参数类型不同voidm(Strings){}//参数类型相同但排列不同voidm(inta,Strings){}voidm(Strings,inta){}//形参名字不同不算重载//voidm(inta)//voidm(intb)}方法重载publicclassTestOverloading{publicstaticvoidmain(String[]args){Aa=newA();a.m();a.m(10);}}classA{voidm(){}voidm(inta){}}方法重载的意义

对方法的调用者屏蔽因方法参数不同所造的差异System.out.println(10);System.out.println(“suns”);System.out.println(‘s’);构造方法

构造方法的概念classStudent{Stringname;publicStudent(){}}构造方法publicclassTestConstructor1{publicstaticvoidmain(String[]args){Students=newStudent();}}classStudent{Stringname;publicStudent(){

}}构造方法的重载publicclassTestConstructor2{publicstaticvoidmain(String[]args){Students1=newStudent();Students2=newStudent("suns");Students3=newStudent(10);}}classStudent{Stringname;intage;publicStudent(){}publicStudent(Strings){}publicStudent(inta){}publicStudent(Strings,inta){}}构造方法的特点

构造方法不能手工调用,被自动调用

classStudent{Stringname=“suns”;intage;publicStudent(){}}Students=newStudent();s.Student();//错误构造方法的特点构造方法在对象构造时,被自动调用一次。而且只会被调用一次。执行new语句后:分配空间初始化属性调用构造方法

构造方法没有返回值

如果在一个类中没有定义构造方法,系统默认提供一个公开的无参的空构造方法构造方法的使用场景

构造方法经常用于给实例变量赋值publicclassTestConstructor1{publicstaticvoidmain(String[]args){Students2=newStudent(10);}}classStudent{Stringname;intage=20;publicStudent(){}publicStudent(Strings){}publicStudent(inta){

age=a;}}对象与引用

引用概念Students;s=newStudent();

引用存储的是对象内存空间的首地址程序中的值传递publicclassTestValue{publicstaticvoidmain(String[]args){inta=10;intb=a;b++;System.out.println(a);

}}程序中的值传递publicclassTestValue3{publicstaticvoidmain(String[]args){inta=10;m1(a);System.out.println(a);

}publicstaticvoidm1(intb){b++;

}}程序中的值传递publicclassTestValue2{publicstaticvoidmain(String[]args){Students1=newStudent();Students2=s1;s2.age=21;System.out.println(s1.age);}}classStudent{intage=20;}程序中的值传递publicclassTestValue2{publicstaticvoidmain(String[]args){Students=newStudent();m2(s);System.out.println(s.age);}publicstaticvoidm2(Studentstu){stu.age++;

}}classStudent{intage=20;}this关键字this关键字的概念this是一种特殊的引用,指向当前对象,语义上等同selfpublicclassMyClass{inta;publicMyClass(intb){

a=b;

}publicvoidprint(){System.out.println(this.a);

}}this关键字publicclassTestThis{publicstaticvoidmain(Str

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论