欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    Java学习重点.docx

    • 资源ID:5489949       资源大小:63.67KB        全文页数:36页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java学习重点.docx

    1、Java学习重点JAVA学习要点一、关于Java1、Java的三种体系:J2SE用于桌面开发,低端商务开发(Java to Standard Edition) ;J2ME用于移动电话、电子消费品、嵌入式开发(Java to Micro Edition) ;J2EE企业级解决方案的开发,基于WEB的开发等,(Java to Enterprise Edition) ;2、Java的特点:序号语言角度学习角度1比C+简单,放弃了对指针的使用;入门迅速,容易学;2目前最好的网络编程语言;编写更少、更好的代码; 3开放式先进的技术,可移植性强; 更快的开发程序4完全的OO(面向对象,单根结构) 的跨平台

    2、语言;用纯Java编写的程序可以避免平台相关性;5分布式开发,支持多线程,可靠安全健壮;一次编写,处处运行,可以更容易的发布软件;3、主要的开源网站:www.J www.apache.org 4、其他技术问题:序号特征1目前国内比较流行的技术组合:spring() + hibernate技术,还有webservice +XML技术;2J2EE的相关技术:EJB,SEVILET,JSP等;3源文件(*.java) -类文件(*.class) -java虚拟机(JVM) 编译器 解释器4应用程序层Java应用程序Java平台层Java虚拟机操作系统层UNIXWINDOWSRTOS硬件层SPARCX

    3、86MIPSPPC二、面向对象的特征序号特征1面向对象的三个原则封装性封装的基本单元是类(class),类是一个抽象的逻辑结构,而类的对象是一个真实的物理实体;类的目的是封装复杂性,在类内部存在隐藏实现复杂性机制;封装(encapsulation) 的两个好处:模块化:可以独立于其他对象的源代码进行编写和维护,可以很容易的将对象在系统中传递;隐藏信息:其他对象可以通过本对象的一个公共接口进行通信而不影响其他对象;继承性继承是一个对象获得另一个对象的属性的过程,继承机制是一个对象成为一个更具通用类的一个特定实例成为可能,避免了代码的重复编写;多态性(重载overload,方法名相同、参数的个数不

    4、同、参数的类型不同、返回的类型不同和覆盖override) ;多态性就是“一种接口,多种方法”,可以为一组相关的动作设计一个通用的接口,其实类的函数的重载就是一种多态的体现;4引入抽象编程的思想;类的封装就是一种抽象思想三、Java关键字1、类访问修饰符序号说明1类的修饰符只有public和default两个;2public修饰类时表示任何包的其它类都可以访问该类;3访问修饰符为default时只有在同一个包里的类才能访问它,其他包里的都不行;4类的构造函数(构造器) 不能用final、abstract、synchronized、native、static等关键字进行修饰;2、成员访问修饰符(

    5、public、protected、default、private)序号规则说明1java的成员访问修饰符有4种:public、private、protected、default2public static = static public;3类的成员访问修饰符的详细描述如下:(表示允许访问,表示不能访问)visibilitypublicprotecteddefaultprivate访问同一个类访问同一个package中不同的类访问在不同package中的父类(superclass)访问不同的package中不同的类综合上表,访问修饰符的访问权限为:publicprotecteddefaultpr

    6、ivate3、final关键字序号修饰范围规则说明1类final类不能被继承,final类的性能会有所提升如:public final class A public class B extends A /错误,A被final类不能作为B的基类2方法final成员不能被重写(overriding);3类的成员变量final变量不能被修改值,如:public final class Astatic final int a = 10;a = 11; /错误,不能被修改static final int b; /此处是非法的,必须是如static final int b=9;4方法中的变量可以在声明时不

    7、赋值,但是在使用之前必须赋值,一旦赋值就不能被修改;public static void method() Final int a;System.out.println(a) ; /错误,必须改为:a = 10;System.out.println(a) ;5final修饰的对象表示它所修饰的对象所分配的内存地址不可变;final和abstract不能同时使用,如public final abstract class A是不允许的;因为final是使类A不能被继承而abstract是要类A在其子类中实现它的方法;4、abstract关键字序号修饰范围规则说明1类1、 被修饰的类为抽象类,不能被

    8、实例化(生成对象) 只能作为其他类的基类(父类)2、 abstract不能修饰类的构造函数(构造器) ;3、 类下面的方法可以不都被修饰为abstract,没有被修饰的方法则需要实现该方法;2类的方法修饰方法时,它的类也必须被修饰为abstract3其它abstract不能与final同时使用;5、static关键字 如果一个类的成员被声明为static,则该成员实际上是一个全局变量,static关键字的使用规则如下:序号规则说明1在java中只有接口、最外层的类和static Inner Class可以定义static变量或方法;2Static变量和方法属于它的类,它的类的所有对象都可以访问

    9、到它;但是任何一个类的对象对static变量进行修改都直接影响到所有对象;3它们只能访问static修饰的类的成员变量和方法4它们不能以任何方式引用this或super;6、override关键字7、synchronized关键字 synchronized只能用在方法的声明的前面,而变量不能用该关键字;四、变量(variables statement)1、变量声明序号规则说明1变量名称的命名规则:(1)java只允许英文字母以及”$”以及”_”两个非英文字母作为变量或类名的首字母; (2)变量以小写字母开头,以后的每个单词首字母大写;其它的普通变量除了第一个单词首字 母小写外其他的都大写;(3

    10、)类名的每个单词的首字母都大写;(4)java约定_只用在常量声明的单词之间分隔单词;2规则1int 99year = 99是非法的,而int _99year=99是允许的规则2int myInt = 99;规则3Class MyClass规则4int MAX_VALUE = 993当变量声明为null时表示该变量没有初始化即没有分配内存空间;4八进制数的声明int five = 05;int nine = 011;十六进制的声明int a = 0x9;int fifteen= 0xF;int sixteen=0x10;在java中除了接口、外部类和static Inner Class可以定义

    11、static变量或方法;2、变量作用范围变量声明的位置直接决定了变量的作用范围,它共有4种作用范围:序号声明范围规则说明1类的成员变量它是一个类的成员(static修饰,所有类的变量即是所有对象公有的一个变量,它的更改将影响到所有的类的对象)或者一个对象的成员(非静态变量,属于类的对象的变量),它在类内,但是是在任何方法和构造函数之外;2局部变量主要是在类的方法或者一个代码块中,只在所在的方法或代码块中起作用;3方法的参数是方法或者构造器中的正式自变量,用于向方法或者构造器传递值,作用范围是它所在方法或则构造器内;4异常处理器参数与参数类似,它是异常处理器的自变量;五、接口(Interface

    12、)序号规则说明1接口可以继承接口,用关键字extends(扩充、继承)2普通类可以实现多个接口,用关键字implements(实现),用“,”分隔3接口中的定义中不能加private和protected,其default值是public;4接口中可以定义静态的变量,格式为:public static final type variableName;5实现类必须实现接口中的所有方法;六、构造函数(构造器,constructor)序号规则说明1构造函数的作用:在生成类的对象时,为对象分配一个(封闭)的内存空间;2构造函数必须与类名一致;构造函数可以重载;3不管父类有无构造器,子类在实例化时都会调用

    13、父类的构造器,所以当父类中声明了带参数的构造器时,子类必须在构造器的第一行指定调用父类的哪个构造器;4构造器不返回任何类型,可以是个空方法,也可以给类的变量赋值;5在类的继承中,子类会默认调用父类中的构造器,可能出现的情况有:public class A public A(int i)可以将类B中加个构造器:public class B extends A public B(int i)super(i)public static void main(String args) B b = new B(1); 或者在A类中加个没有参数和方法体的构造函数:public class A public

    14、A() public A(int i)public class B extends Apublic static void main(String args) B b = new B(); 6例子:public class A private int a; public A() /默认的构造函数可以不写 public A(int i) a= i; /一旦建立了自己的构造函数,则java默认构造函数则将不再使用了。七、程序控制语句1、循环控制语句Java中共有while、do while、for三种循环语句。序号类型规则说明1whileint a =0,b=10;while(ab) a+ /当a

    15、等于b时即跳出循环;2do while规则:先执行后判断,至少要执行一次,如:int a =0,b=10;do a+ /当a等于b时即跳出循环; while(ab);3for规则根据条件执行;for(int a=0;a10;i+) /当a=10时自动跳出循环;上个for循环语句等价于:for(int a=0;a10;) /当a=10时自动跳出循环; a+;甚至可以:int a=0;for(;a10;) /当a=10时自动跳出循环; a+;2、switch等跳转语句 Java中共有break、continue、return三种跳转语句,其中:序号跳转类型规则说明1breakswitch语句中的跳

    16、转;用来跳出循环语句; for(int i=0;i100;i+) if(i= 50 & j=49) break; /直接跳出循环语句 else System.out.println(i); 可以作为一种的先进的goto语句来使用;2continuefor(int i=0;i100;i+) if(i= 50 & j=49) continue; /直接跳转到控制语句控制体中i+ else System.out.println(i); 在循环体语句中可以用continue语句使程序只执行满足循环体条件的表达式;3return直接结束并跳出方法,或者返回方法定义的数据类型;3、New运算符理解new运

    17、算符是在运行期间为对象分配内存的是很重要的。请记住下面的话:当一个对象引用赋值给另一个对象引用时,仅仅只是对引用的一个拷贝(即只是将2个对象都指向同一片内存。)如下面的代码:public class Box public int length; public int height; public Box(int l,int h) this. length = l; this. height = h;public class B Box b1= new Box(10,20); Box b2= b1; System.out.println (b1.length+”-“+b1.height); Sy

    18、stem.out.println (b2.length+”-“+b2.height); b1.length =20; b1.height =30; System.out.println(b1.length+”-“+b1.height); System.out.println (b2.length+”-“+b2.height);结果: 10-20 10-20 20-30 20-30这是因为:在上面的代码中,先是为b1分配了内存空间,然后在b2=b1时,将b2的指针也指向了b1所指向的内存空间,所以无论b1怎么变,b2都跟b1完全一致;4、+操作符序号分类规则说明1优先级在同一个运算表达式中,A+

    19、的优先级高于+A2A+B=A+表示B=A;A=A+1;3+AB=+A表示B=A=A+1;八、内部类(Inner Class)定义:inner class是 class的另一种类的成员;内部类可以实现(implement)接口或者继承(extends)其它的类;序号分类规则说明1静态内部类(又叫嵌套类)类似与类中的static成员方法,在调用该类时不需要声明,可以直接调用;2成员内部类类似与类中的非static成员方法,在调用该类时需要实例化它的外部类,然后通过该实例在实例化该内部类3本地内部类(local Inner Class)类似于类的方法中的局部变量;4匿名类(Anonymous Inn

    20、er Class)一种特殊的local Inner Class;5总之,这4种内部类类似于普通类中的静态成员、非静态成员、方法中的局部变量1、 静态内部类(static Inner Class)序号规则说明1Static inner class可以访问它的外部类的所有的静态成员变量和方法;而它的外部类可以访问它的所有成员和方法(无论用什么修饰符);2Static inner class访问它的外部类的非static变量时只能通过它的外部类的对象实例去访问;3Static inner class中只能有静态成员变量和方法;4Static inner class的名字不能跟它的外部类相同;例子:p

    21、ublic class MyOuter public static int ins;public int myins;public static class MyInner int i = ins;int x =myins; /不能这样访问外部类的非静态成员,必须通过它的实例来访问;int y = new MyOuter().myins; /这样访问myins是正确的;public void food() 在编译之后不仅要生成一个MyOuter.class还将生成一个MyOuter $MyInner.class;2、成员内部类(Member Inner Class)序号规则说明1它类似与普通类

    22、中的非静态成员变量,但又具有类的特性,调用它需要对它实例化;2它可以访问public, package, protected, and private修饰的任何方法和成员变量;3Member Inner Class不能有static变量和方法;4Member Inner Class对象只能通过它的外部类的实例对象来进行访问,如例子;5Member Inner Class的名字不能跟它的外部类的名字相同;6inner class的声明:A 在outerclass内部访问: MyInner in = new MyInner();B 在outer class的外部访问: Myouter.MyInne

    23、r in = new Myouter().new MyInner(); 或者 Myouter out = new Myouter(); Myouter.MyInner in = out.new MyInner();Member Inner Class例子:public class OuterPublic class Inner public class TestOuter ot = new Outer();Inner inn= new Inner(); /这样是错误的,不能这样直接初始化Outer .Inner inn= ot.new Inner(); /这样才是正确的3、本地内部类(Loca

    24、l Inner Class)序号规则说明1Local Inner Class是定义在类的方法中或者方法的某个代码块中的一种类;2类似于类的方法中的变量,不能被public, protected, private, or static修饰;3名字不能跟外部类的名字相同;不能有static成员或方法;只能访问它所在方法中的final变量;4、匿名内部类Anonymous Inner Classes序号规则说明1Anonymous Inner Classes可以说是一个没有类名的Local Inner Class,由于没有名字所以不需要为它定义构造器;2匿名内部类只能访问final修饰的本地变量;3

    25、它总是要继承一个类或实现一个接口(2取其1),但不需使用extends或者implement关键字;例子public class A public void print() System.out.println(“printing A”);public class B public void print() A a = new A() /覆盖A类中的print() public void print() System.out.println(“printing B”); ; /声明一个匿名类,并将它的对象赋值给它的父类A的对象a, a.print();public class Test pub

    26、lic static void main(String args) A a = new A(); B b = new B(); a.print(); b.print() 结果是:printing A printing B九、String和StringBuffer类序号规则说明1String类与StringBuffer类的区别:a、 String类是一个final类,一旦生成对象便不可改变它的值,如果改变这个对象则相当于生成了一个新的对象(将该对象指向了一个新的内存)b、 StringBuffer类则可以创建和操作动态字符串,系统可以自动地为对象扩展内存以容纳新增的文本;2StringBuffe

    27、r中的length()和capacity()方法的区别:1)length方法返回字符串或字符串缓冲区中包含的字符数;2)capacity方法返回分配给字符串缓冲区的空间量(capacity() = length()+16);3String类中的equals方法与=是不一样的,equals方法表示两个比较的字符串中的字符是否一致,而=则表示操作符的两边的字符串变量所指的地址是否相同;41)String A=”a”+”b”+”c”;2)StringBuffer B=new StringBuffer(“a”); B. append(“b”). append(“c”);上面的两个语句最后都是返回的字符

    28、串”abc”,但是1)共创建了5个字符对象(a,b,ab,c,abc),而2)中只创建了3个,节省了内存空间,效率更高;例子:import java.util.*; class StringTest public String hello =Hello; public String hel =Hel; public String lo =lo; class MyTest public MyTest() public static void main(String args) StringTest st = new StringTest(); String str1 =Hello; String str2 =Hel; St


    注意事项

    本文(Java学习重点.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开