《郝斌开发经验(java)》

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

序本视频假定读者已经掌握了C语言!所以有关变量,数据类型,运算符,流程控制,函数,指针等知识本视频中是没有讲的,因为这些知识我已经在C语言中讲过了C语言视频我暂时还没有录制,没有C语言基础的同学看本Java视频会有不小的难度!当然如果你已经学习了其他语言,掌握了有关变量,数据类型,运算符,流程控制,函数,指针等知识,看此视频应该没什么难度吧!没有学过C语言的推荐看谭浩强先生的书籍!本人的qq只希望接受您对我视频教学错误的指正,对于您学习中出现的问题,对不起,我没有时间通过qq来帮您解决!实在是抱歉!2009年7月17日郝斌注意:本资源[郝斌]Java自学视频教程共107集郝斌,现在瑞德学校担任教学组长,曾在雅博等公司担任项目总监。6年开发经验,擅长C/C++、Java、数据结构、数据库。具有四年培训经验。郝斌:自学好辛苦,不过好在最后我还是学出来了,教学好几年了,感触颇多,如今录制了一些教学视频,把自己的心得发布出来,希望对那些没钱培训的朋友有所帮助视频目录1_Java概述_12_Java概述_23_Java概述_34_Java的卸载5_Java的安装6_环境变量的设置7_常见dos命令文件名和类名不同时编译运行的问题9_复习上节课10_类和对象8_变量命名规则数据类型运算符格式化输出流程控制11_内存分配12_访问控制符_113_访问控制符_214_构造函数15_UltraEdit的使用16_复习17_函数的重载18_构造函数19_this20_static21_复习22_static两示例_求个数_只生成一个对象__123_static两示例_求个数_只生成一个对象__224_继承的由来和继承的访问控制权限_125_继承的由来和继承的访问控制权限_226_面向对象的继承反映的是现实中的一般到特殊的关系27_Java为什么没有多继承28_复习+super_129_复习+super_230_重写父类方法_131_重写方法示例32_多态的语法知识33_复习34_多态注意事项和实际应用示例36_接口_135_抽象类和final37_接口_238_面向对象复习39_编译运行含有包层的类_140_编译运行含有包层的类_241_同包和不同包类的相互访问42_复习和不同包之间的相互访问_143_复习和不同包之间的相互访问_244_jar包的生成45_如何使用Jar包和包的总回顾46_异常概述_147_异常概述_248_复习49_为什么需要异常50_printStackTrace方法的介绍51_可处理可不处理的异常和必须得进行处理的异常52_处理异常的两种方式53_finally54_自定义异常和throws常见错误解析_155_自定义异常和throws常见错误解析_256_异常复习57_异常58_ToString()方法介绍_159_ToString()方法介绍_260_equals_161_equals_262_复习63_String类的equals==常量字符串的用法64_String类的常用方法介绍字符串和整数的相互转化67_复习65_String常用方法举例66_printf和println的区别68_StringBuffer69_数组70_线程_171_复习72_创建线程的第二种方式73_线程常用方法的介绍java自学视频源代码74_线程的控制75_线程同步问题的产生原因76_复习78_闲聊79_复习77_买票程序讲解80_生产消费程序演示_182_awt展望81_生产消费程序演示_284_布局管理器86_复习83_gui85_事件处理87_十个按钮的设计90_计算器可运行jar包的生成89_复习内部类匿名类92_复习91_什么叫流流的分类四大基本抽象流88_三个文本框的相加运算示例93字节流字符流的使用和它们的区别94_缓冲流的使用95_将一个长整型数写入字节数组再从字节数组读出程序讲解96_print流Object流97_容器的介绍和使用99_复习98_Comparable接口Set接口101_Iterator接口100_equals和hashCode方法的使用(难点)103_泛型102_Map接口的使用104_网络编程基础知识UDP编程105_TCP编程和TCP下的WEB服务器程序的讲解106_JavaSE复习大纲_上107_JavaSE复习大纲_下Java概述Java特点Java虚拟机(JVM)每台计算机上都有独特的java虚拟机;一次编译到处运行;Java应用领域J2SEJ2MEJ2EEJava基础知识Dos命令Java中的注释标识符关键字数据类型常量整型常量、浮点常量、字符常量不同类型变量的存储范围数据类型转化运算符算术运算符关系运算符逻辑运算符赋值运算符位运算符运算符的优先级流程控制顺序选择循环函数的重载面向对象编程(上)面向过程的设计思想/面向对象的设计思想类的定义:静态属性(成员变量);动态可执行的操作(成员方法);对象的定义程序的执行过程(执行过程的内存管理:堆栈等)内存Heap(堆)存放对象引用Stack(栈)存放对象Datasegment(数据段)存放静态变量,字符串常量Codesegment(代码段)存放代码(一个类的new出多个对象,成员变量放在内存的不同区域,但是方法只有一个且放在代码段)访问控制符public可以通过外部访问方式访问类内部的public成员Protect默认Private不可以通过外部访问方式访问类内部的private成员构造函数构造函数的定义和作用:类创建对象分三个层次掌握访问控制符:(1)、类的内部访问在一个类的内部,所有的成员可以相互访问,访问控制符是透明的;访问控制符是针对类外部访问而言的;===============类内/类外===============(2)、同一个包中外部访问(同包不同类/同包不同类--继承)通过类的对象名访问类的内部成员通过类名访问类的内部成员===============包内/包外===============(3)、包函数调用的过程:压栈过程构造函数的返回值问题(构造函数没有返回值)构造函数数据成员的赋值--对象被创建时会对其中各种类型的成员变量自动初始化赋值多个构造函数可能带来的冲突(如果不定义程序就会默认提供,定义后就不再提供)关键字this(理解成当前对象的引用或指针)一个类的new出多个对象,成员变量放在内存的不同区域,但是方法只有一个且放在代码段---成员方法如何区别是哪一个对象掉用自己?--每一个非静态方法中都隐含一个this指针关键字static(成员属于类)非私有静态属性或方法可以直接用类名访问,类的对象也可以直接访问;静态方法不可以访问非静态成员;非静态方法可以访问静态成员;Static应用:创建对象计数;单态模式★--只能创建一个对象(见例子TestStatic_2.java);面向对象编程(下)继承(extends)(1)子类内部可以访问父类非私有的成员;(2)子类的外部(子类new出来的对象),通过子类对象名只能访问从父类继承过来的非私有成员(反过来父类对象访问子类的成员同理,子类把public等修饰符也继承过来了)(3)通过子类的类名访问父类的成员总之--私有不能被继承(私有成员逻辑上已经被继承过来的,只是不能访问,因此继承要慎重否则浪费内存空间)不同包的继承问题继承原则:区别汽车和车轮的关系(包含关系)父类/基类--子类/派生类superjava只允许单继承(C++允许多继承)接口可以一定程度上解决单继承的缺陷Super的使用(见TestSuper_1.java/TestSuper_2.java/TestSuper_3.java)Super的应用---情景:父类有很多很多属性,子类继承过来如果一个个进行初始化就会太麻烦,可以使用Super调用父类的构造器进行初始化总结:1、每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。2、如果显示的写出super();语句,则必须保证该语句是第一条语句,否则会出错3、super();如果不写,则编译器会自动添加,所以此时如果父类没有无参的构造函数就会出错4、既可以显示写super();前提是父类必须有无参的构造函数也可以显示写super(实参);前提是父类必须有带参的构造函数5、调用父类的构造函数的语句必须借助于super,不能直接写父类的类名,这与C++不同,6、一个构造函数中不能写多个super(参数列表)语句;Super.f();方法的重写--子类要比父类的权限大(否则多态无法实现)TestStudent.java多态(一个父类的引用类型变量既可以指向父类对象也可以指向子类对象,它可以根据当前时刻指向的不同,自动调用不同对象的方法,这就是多态)多态的作用:同一段代码做不同的事情(TestPoly_1.java)通过父类的引用只能指向子类从父类继承过来的成员;父类的引用永远不可能直接赋给子类的引用;只有当在父类引用本身指向的就是一个子类对象时,才可以把父类引用强制转换为子类引用抽象类(abstract美[ˈæbˌstrækt])的由来:比如“植物”抽象词abstractclassA{abstractpublicvoidf();//没有方法体的方法叫做抽象方法,抽象方法没有方法体}有抽象方法的类一定是抽象类,抽象类不一定有抽象方法;可以定义一个抽象类的引用(多态抽象类),但不可以创建一个抽象类对象Final:修饰整个类:表示不能被继承成员属性:表示属性必须被赋值,且只能被赋值一次,通过两种方式成员方法:可以继承但不可以重写接口interface(特殊的抽象类)抽象方法和常量属性的集合接口和抽象类的区别:抽象类是一个类可以被继承,接口不能被继承只能被实现用关键字implements(实现)接口内的方法没有{},不允许有非抽象方法包:Javac-d.TestPackage.javaJavamyPackage.cy.TestPackagePath:exe的路径Classpath:class的路径DOS命令:设置类的路径:setclasspath=c:\Documentsandsetting\...同包不同类的访问:启动类Javaca.javab.java两个一起编译同包非私有成员都可以不同包的访问:共有的类的共有成员才可以被另外一个包的类访问Import公有类保证可以在另一个类中创建对象,公有方法除了内部类普通类只能用public或者什么都不修饰如何生成jar包放在一个文件夹中DOS下jarcvfxxx.jar*(进入当前目录)如何使用jar包Importzhangsan.lidi.A;Setclasspath=c:\documentsandsettting\....t.jar;面向对象的特点:封装:访问控制符:只有privateThis:一个对象只含有属性的空间private继承:java只允许单继承,私有成员无法被继承重写:方法名和参数列表和返回值必须一样多态:放在java.lang包中的类不需要引入,其他的类都需要手动引入Object类的方法---toString()方法一个类默认继承Object该方法返回“类名@哈希码--该对象在内存堆中的地址”System.out.println(类的对象名)--实际输出的是该对象的toString()方法所返回的字符串重写toString方法的意义:为了实际需要String和StringBuffer:JAVA的StringBuffer类:StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。在StringBuffer类中存在很多和String类一样的方法,这些方法在

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功