Java基础知识培训

上传人:cel****303 文档编号:114849925 上传时间:2022-06-30 格式:PPT 页数:55 大小:490KB
收藏 版权申诉 举报 下载
Java基础知识培训_第1页
第1页 / 共55页
Java基础知识培训_第2页
第2页 / 共55页
Java基础知识培训_第3页
第3页 / 共55页
资源描述:

《Java基础知识培训》由会员分享,可在线阅读,更多相关《Java基础知识培训(55页珍藏版)》请在装配图网上搜索。

1、Java基础知识培训2nJava发展史发展史npublic class 和和class的声明的区别的声明的区别nJava的数据类型的数据类型n基本数据类型基本数据类型n引用数据类型引用数据类型n数据类型的默认值数据类型的默认值n数据类型的转换数据类型的转换n循环控制循环控制nforndowhilenwhilenif elsen数组数组n数组的声明数组的声明3n方法方法n方法的格式方法的格式n方法重载方法重载n构造函数构造函数n函数重载的区分函数重载的区分n为什么不以返回值区分重载方法为什么不以返回值区分重载方法n方法与数组方法与数组nthisn表示表示“调用方法的那个对象调用方法的那个对象”n

2、在构造器里调用构造器的限制在构造器里调用构造器的限制n不能在一个构造器调用两个构造器不能在一个构造器调用两个构造器n必须将构造器调用置于最起始处必须将构造器调用置于最起始处4n开发的方式开发的方式n面向对象面向对象n三个特征三个特征 封装封装 继承继承 多态多态n面向过程面向过程n类的封装性类的封装性n类的图形表示类的图形表示n构造方法构造方法n匿名对象匿名对象n字符串字符串nObject的几个重要的方法的几个重要的方法nObject.equalsnObject.hashCodenObject.toString5nstaticn在在static方法内部不能调用非静态方法方法内部不能调用非静态方

3、法nfinalizen工作原理工作原理n析构函数析构函数n设计一个简单的问题,要求用户输入用户和口令,如果用户为设计一个简单的问题,要求用户输入用户和口令,如果用户为xiaoX,口令为口令为123,则向控制台打印,则向控制台打印登录成功,否则打印登录失败登录成功,否则打印登录失败n构造函数私有化构造函数私有化n代码块代码块n内部类内部类n函数回调函数回调n继承继承nfinal关键字关键字n抽象类抽象类n接口接口6n对象的多态性对象的多态性n抽象类和接口的应用抽象类和接口的应用n适配器模式适配器模式n简单工厂模式简单工厂模式n代理模式代理模式n异常异常n包包n持有对象持有对象n字符串字符串7nS

4、UN:斯坦福大学网络斯坦福大学网络n1991年年 GREEN项目项目 C+ 新的平台新的平台Oak 网景公司网景公司n1995年年 Oak命名为命名为Javan1998年年 Java2nJava技术的主要分支技术的主要分支nJ2SEnJ2MEnJ2EE8n三者之间的关系三者之间的关系9n面向对象面向对象n编译型语言编译型语言n指针指针n低层以低层以C+开发开发nJVM10n建立一个文件名建立一个文件名Person的类的类npublic class PersonDemon11n基本数据类型基本数据类型 nintncharnbytenlongnfloatndoublen引用数据类型引用数据类型nN

5、ewnString是基本数据类型吗?是基本数据类型吗?12n基本数据类型都有自己的默认值基本数据类型都有自己的默认值nprivate int age; /默认值为默认值为013nifndo.whilenwhilenfornforeach (JDK1.5之后的新特性)之后的新特性)14public class ForEach public static void main(String args) String aa = 小刚小刚, 小明小明, 小敏小敏, 小红小红 ;/ JDK1.4之前之前for (int i = 0; i aa.length; i+) System.out.println(

6、aai + 、);/ JDK1.5之后,包括之后,包括JDK1.5for (String s : aa) System.out.println(s + 、);15nint aa=new int10;nint aa=null; aa=new int10;nint aa=1,10,2;16npublic 数据类型数据类型|void 方法名(参数类表)方法名(参数类表)nn构造函数实际上就是一种重载构造函数实际上就是一种重载n函数重载的唯一标志就是参数列表函数重载的唯一标志就是参数列表17class Number public void add(int x) System.out.println(i

7、nt x= + x);public void add(double x) System.out.println(double x= + x);public class MethodDemo public static void main(String args) Number number=new Number();number.add(1);number.add(1f);18public class Method1 public static void main(String args) int temp = 2, 4, 6, 8 ;fun(); / 没有参数没有参数fun(1); / 一个

8、参数一个参数fun(1, 3, 5, 7, 9); / 一个参数一个参数fun(temp);public static void fun(int. arg) for (int x : arg) System.out.print(x + 、);System.out.println();19public class MethodDemo1 public void fun() System.out.println(Hello Union!);public String fun() System.out.println(Hello Union!);public static void main(Str

9、ing args) fun();20public class MethodArray public static void main(String args) int temp = 1, 3, 5, 7, 9 ; / 声明数组声明数组fun(temp);print(temp);public static void fun(int x) x0 = 6; / 修改第一个元素修改第一个元素public static void print(int x) for (int i = 0; i x.length; i+) System.out.print(xi + 、);21调用类的属性调用类的属性 thi

10、s.属性属性调用类的方法调用类的方法 this.方法方法调用类的构造方法调用类的构造方法 this()表示当前对象表示当前对象 this22class Person String name;public String getName() return name;public void setName(String name) name = name;23public class Book public Book() System.out.println(book);public Book(int x) System.out.println(book);System.out.println(bo

11、ok + x);public Book(int x, int y) System.out.println(book);System.out.println(book + x);System.out.println(book + y);24public class Book public Book() System.out.println(book);public Book (int x) this();System.out.println(book + x);public Book (int x, int y) this(x);System.out.println(book + y);25n面

12、向过程主要是解决问题,有点记叙文的味道面向过程主要是解决问题,有点记叙文的味道n面向对象是一套系统的开发的模式,更能贴近现实事物一种思路面向对象是一套系统的开发的模式,更能贴近现实事物一种思路26n面向过程主要是解决问题,有点记叙文的味道面向过程主要是解决问题,有点记叙文的味道n面向对象是一套系统的开发的模式,更能贴近现实事物一种思路,特征面向对象是一套系统的开发的模式,更能贴近现实事物一种思路,特征n抽象抽象n封装性封装性n继承性继承性n多态性多态性2728n类的组成类的组成n访问类的属性和方法访问类的属性和方法29class Person String name;int age;publi

13、c class ClientPerson per=new Person(); per.name=“小明小明”;per.age=-10;加入加入private3031n构造方法必须与类名相同构造方法必须与类名相同n构造方法没有返回值构造方法没有返回值n可以有多构造方法可以有多构造方法n每个必须有构造方法每个必须有构造方法nclass Personnn通俗的说只使用一次的对象称为匿名对象通俗的说只使用一次的对象称为匿名对象32public class StringDemo public static void main(String args) String s = asd,333,2222,00

14、0,1111;String s_a = s.split(,);for (String s1 : s_a) System.out.print(s1 + 、);System.out.print(n);String ss = asd|333|fff|sss|asdfsad;这个字符串怎么根据这个字符串怎么根据”|”拆分为字符串数组?拆分为字符串数组?33class Personint age;public class ClientPerson per1=new Person();Person per2=new Person();System.out.println(per1.equals(per2)

15、;34class Persion private int age;public int getAge() return age;public void setAge(int age) this.age = age;Overridepublic boolean equals(Object obj) if (this = obj) return true;if (obj instanceof Persion) if (this.age = (Persion) obj).getAge() return true;return false;public class EqualsDemo1 public

16、 static void main(String args) Persion per1 = new Persion();Persion per2 = new Persion();per1.setAge(10);per2.setAge(10);System.out.println(per1.equals(per2);35一般重载了基类的一般重载了基类的equals方法,也要重载方法,也要重载hashCode方法方法HashMap HashTabletoString的必要性的必要性class Personint name;public static void main(String args)Sy

17、stem.out.println(new Person();36类名称类名称.static属性属性/方法方法37工作原理:一旦垃圾回收器准备释放对象占用的存储空间,将首先调用工作原理:一旦垃圾回收器准备释放对象占用的存储空间,将首先调用finalize()方法方法,并且在下一次垃圾回收动作发生时,才会真正回收对象并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。占用的内存。finalize不等于析构函数不等于析构函数38pubic class Clientpublic static void main(String args)String name=args0;String pass

18、word=args1;if(name.equals(“xiaoX”) & password.equals(“123”)System.out.println(“登录成功!登录成功!”);elseSystem.out.println(“登录失败!登录失败!”);39class MessageInfoprivate MessageInfo()public class Clientpublic static void main(String args)MessageInfo info=new MessageInfo();40普通代码块普通代码块构造块构造块静态块静态块41内部类就在一个类的内部又定义了

19、一个类内部类就在一个类的内部又定义了一个类class OuterClass private int name;class InnerClass public void fun() System.out.println(name);42public interface ICallBack public void print();public class Printer ICallBack ic;void setCallBack(ICallBack ic) this.ic = ic;void execute() ic.print();43public class PrintHandler publ

20、ic static void main(String args) Printer printer = new Printer();printer.setCallBack(new ICallBack() public void print() System.out.println(This is a callback);); / 这句话可以设置成当满足某条件时再执行printer.execute();44继承就是扩展已有类的功能,父类称为继承就是扩展已有类的功能,父类称为“超类超类”,子类称为,子类称为“派生类派生类”继承的限制继承的限制子类的实例化过程子类的实例化过程方法的覆写方法的覆写45n

21、声明类声明类nfinal class Ann声明方法声明方法npublic final void fun()nn声明属性声明属性npublic final String s=“Hello Union!”46abstract class Apublic abstract void fun();class Clientpublic static void main(String args)A a=null;a=new A();抽象类是否能用抽象类是否能用final关键字来修饰关键字来修饰抽象类是否可以有构造函数抽象类是否可以有构造函数47n接口是一种特殊的类,在接口中定义的方法全部都是抽象方法,定

22、义的属性全部都是全局常量接口是一种特殊的类,在接口中定义的方法全部都是抽象方法,定义的属性全部都是全局常量n一个类可以实现多个接口一个类可以实现多个接口n一个接口可以继承多个接口一个接口可以继承多个接口48n向上转型向上转型n向下转型向下转型n父类设计很重要父类设计很重要49n适配器模式适配器模式ninterface ManageObjectnpublic void fun1();npublic void fun2();npublic void fun3();nnn但是我又不想实现但是我又不想实现ManageObject接口的所有方法,只有一部分方法是我需要的,怎么办?接口的所有方法,只有一部

23、分方法是我需要的,怎么办?50n简单工厂模式简单工厂模式ninterface Fruitnvoid eat();nnclass Orange implements Fruitnpublic void eat()nSystem.out.pritnln(“吃桔子吃桔子”);n nnclass Clientnpublic static void main(String args)nFruit fruit=new Orange ();nfruit.eat();n nn如果如果51n简单工厂模式简单工厂模式ninterface Fruitnvoid eat();nnclass Orange implem

24、ents Fruitnpublic void eat()nSystem.out.pritnln(“吃桔子吃桔子”);n nnclass Clientnpublic static void main(String args)nFruit fruit=new Orange ();nfruit.eat();n nn如果现在又多了一个水果为如果现在又多了一个水果为Apple,客户端现在不吃桔子了,改吃苹果,那只能修改客户端现在不吃桔子了,改吃苹果,那只能修改nFruit fruit=new Apple (); 这样设计的缺陷是什么这样设计的缺陷是什么?52n代理模式代理模式n如果如果A类要去执行一个方

25、法,但是类要去执行一个方法,但是A类不直接去执行,而是委托类不直接去执行,而是委托B类去执行,这个方法,那为什么类去执行,这个方法,那为什么这么做?这么做?ninterface Znvoid doIt();nnclass A implements Znpublic void doIt()nSystem.out.println();nnnclass B implements Znprivate A a=null;npublic B(A a)nthis.a=a;nn public void doIt()na.doIt();nn53n门面模式与门面模式与spring的构件装配的构件装配54n为什么要用异常处理?为什么要用异常处理?nThrowablenErrornExceptionn异常的语法异常的语法 结结 语语

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!