java笔记

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

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

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

资源描述

Java学习笔记1、Java严格区分大小写2、计算机中:一位是八个字节二进制表示3、面向对象:1)是一种思想2)使复杂问题简单化3)让角色转变,从执行者变为指挥者4)举一个例子(结合实际场景,如面试的场景)面向对象的三个特性:封装,继承,多态注:开发就是找对象使用,没有对象就创建一个对象。找对象,建立对象,使用对象,维护对象的关系。4、栈和堆5、私有仅仅是分装的一种表现形式。分装不仅仅只是私有。6、全局变量:不初始化有默认初始值,在堆内存中局部变量:不初始化没有默认值,在栈内存中,必须初始化才能参与运算。1)成员变量和局部变量:作用范围:成员变量作用于整个类中。局部变量作用于函数中,或者语句中。在内存中的位置:成员变量:在堆内存中,因为对象的存在,才在内存中存在。局部变量:存在栈内存中。7、构造函数构造函数间调用只能用this语句8、Eclipse实用技巧:如何快速注释程序代码(快捷方式)(1)Ctrl+/:以“//”注释(2)Ctrl+Shift+C:以“//”注释(3)Ctrl+Shift+/:以“/**/”注释9、(1)数组(2)dos命令行(3)运算符(4)循环(例题)(5)封装(6)This(7)匿名对象(9)主函数(10)(11)进制转换(12)函数(13)基本类型的转换在java中基本类型可以相互转换,boolean类型比较特殊不可以转换成其他类型。转换分为默认转换和强制转换:默认转换:容量小的类型会默认转换为容量大的类型Byte(1)--short(2)-int(4)--long(8)--float(4)--double(8)char(2)--所有的浮点型(float、double)我们都统一的认为比整数容量都大,不看字节数。Char和short在同一个等级下Byte、short、char之间计算不会互相转换,首先先转换成intByteb1=10;Shorts1=20;Inti1=b1+s1;//java程序分编译期和运行期//编译阶段只是知道b1+s1的结果是int类型。//int类型无法直接赋值给byte类型//byteb2=b1+s2;//可以通过Byteb3=100;强制转换:将容量大的类型转换成容量小的类型,需要进行强制转换注意:只要不超过范围可以将整形值直接赋值给byte,short,char在多种类型混合运算过程中,首先现将所有数据转换成容量大的那种,再运算doubled=5.998;Inti=(int)d;Byteb=(byte)5.998;注意:强制类型转换时把占用空间大的类型转换为占用空间大小的类型时采用截取的方法,不会进行四舍五入。因此,试图将一个类型强制转换为另一个类型时,有时候会损失一些精度,甚至值完全不同。变量:关于java语言中的变量java中如何定义变量,语法:数据类型变量名;如何给变量赋值,语法:变量名=值;变量的本质是什么?变量就是内存中的一块空间,这块空间有“类型”,“名字”,“值”例如:Inta;//在内存中开辟一块空间,这块空间的类型是整形,给这块空间名字起了一个名为a//赋值a=100;//通过变量名去访问那块内容System.out.println(100);//重复访问System.out.println(100);System.out.println(100);修改为:System.out.println(a);深入变量://申请一块int类型的空间,起名i,并且赋值10Inti=10;System.out.println(i);//重新赋值i=100;System.out.println(i);//变量可以重新赋值,但不能重新声明//在同一个域中,变量名不能重复。//inti=200;//Error不在同一区域中可以声明。(新方法中)-------//java语言中的变量必须先声明,再赋值,才能使用inta;a=10;System.out.println(a);//声明三个变量i1,i2,i3,类型都是int类型,i1,i2两个变量没有赋值,只有i3变量赋值。Inti1,i2,i3=456;//Error//System.out.println(i1);//i1没有赋值不能访问。System.out.println(i3);(14)常量和变量A、Java的数据类型Java一共有八种基本数据类型:可分为4类:1:整型:包含整型(int)(4字节),短整型(short)(2字节),长整型(long)(8字节),字节型(byte)(1字节);2:字符型:(char)(2字节)3:浮点型:单精度型(float)(4字节),双精度型(double)(8字节)4:布尔型:boolean(1bit)归类基础属性类型有:int,short,long,byte,char,float,double,boolean.1byte=8bit;5、首先String不属于8种基本数据类型,String是引用类型;6、java数据类型分为基本类型和引用类型。B、10、什么时候使用静态?要从两方面下手:因为静态修饰的内容有成员变量和函数。11、什么时候定义静态变量(类变量)呢?当对象中的数据要定义成非静态存在于堆内存中。12、什么时候定义静态函数?当功能内部没有访问到非静态数据(对象的特有数据),那么该功能可以定义成静态的。13、静态的应用每一个应用程序中的都有共性的功能可以将这些功能进行抽取,独立封装,以便服用14、排序选择排序冒泡排序(代码如右)15、类定义完后默认有一个空参数的构造函数函数,这个默认的构造函数权限和所属类一致;如果类被public修饰,那么默认的构造函数也带public修饰符。如果类没有public修饰,那么默认的构造函数也没有public修饰默认的构造函数的权限是随类的变化而变化。16、程序开发说明书(帮助文档)..\毕向东JAVA基础教程全套收藏版\传智播客毕向东Java基础视频教程-day06-05-面向对象(帮助文档的制作javadoc).avi注释:/**这是一个可以对数组进行操作的工具类,该类中提供了获取最值,排序等功能@author张三@versionV1.1*/函数前面的说明:/**获取一个整型数组中的最大值@paramarr接收一个int类型的数组@return会返回一个数组中的最大值*/其它函数也类似。。。Jdk里的Javadoc来生成说明书命令窗口输入:Javadoc:-d(指定提取文档的目录)aa(目录)-author-versionArrayTool.java17、Java中名称命名规则18、静态代码块格式:static{静态代码块执行语句}特点:随着类的加载而执行,只执行一次,并优先于主函数执行用于给类初始化19、Personp=newPerson(“zhangsan”,20);20、设计模式解决某一类问题最行之有效的方法Java中23中模式单例设计模式:解决一个类在内存中只存在一个对象想要保证对象唯一1)为了避免其他程序过多建立对象,先禁止其他程序建立该类对象2)为了让其他程序可以访问到该类对象,只好在本类中自定义一个对象3)为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式21、类本身是抽象的。只有new一个对象,并存有数据以后才会具体化。22、继承:1)提高代码复用性2)让类与类之间有了关系,有了这个关系,才有了多态的特性。3)注意:千万不要为了获取其他类的功能,简化代码而继承。必须是类与类之间的有所属关系才能继承,所属关系isa。Java语言中:Java只支持单继承,不支持多继承。多继承会带来安全隐患。当多个父类定义了相同的功能,当功能内容不同时,子类对象不确定要运行那一个。但是Java保留这种机制,并用另一种体现形式来完成,多实现。4)子父类出现后,类成员的特点:类中成员:变量函数构造函数重写:注:重载:只看同名函数的参数列表重写:子父类方法要一模一样子类调用父类的构造函数:super();子类调用父类的方法:super.方法名;注意:super语句必须放在子类构造函数的第一行构造函数里面要么有this(),要么有super(),只能择其一。子类实例化过程:子类的所有构造函数,默认都会访问父类中空参数的构造函数。因为子类每一个构造函数内的第一行都有一个隐式super();23、final:Final修饰的类被继承后出错修饰类的修饰符:publicfinal24、abstract获取当前时间:System.currentTimeMillis();25、接口接口可以被类多实现,接口与接口之间存在多继承26、多态:事物存在的多种表现形态多态的体现:父类的引用指向了自己的子类对象父类的引用也可以接受自己的子类对象多态的前提:必须是类与类之间有关系,要么继承,要么实现存在覆盖多态的好处:多态的出现大大提高了程序的扩展性多态的弊端:提高了扩展性,但是只能使用父类的引用访问父类中的成员多态的应用:多态中成员函数的特点:27、instanceof判断所属类型28、Object是所有对象的直接或者间接父类该类中定义的的是肯定是所有对象具备的功能。Object类中已经提供了对对象是否相同的比较方法。29、内部类访问规则:内部类可以直接访问外部类中的成员,包括私有。外部类要访问内部类,必须建立内部类对象。注意:当内部类中定义了静态成员,该内部类必须是static的。30、异常1)异常就是程序运行时出现的不正常情况异常由来:问题是现实生活中的一个具体事物,也可以通过Java的类的形式进行描述,并封装成对象。问题划分:两种:一种严重,一种非严重严重:Java通过error类进行描述对于error一般不编写针对性的代码处理。非严重:Java通过exception类进行描述对于exception可以编写针对性的代码处理。2)异常处理格式:try{需要被检测的代码;}catch(异常类变量){处理异常的代码;(处理方式)}finally{一定会执行的代码;}3)对捕获到的异常对象进行常见方法操作4)throwsException在功能上通过throws的关键字声明了该功能有可能出现的问题。5)对多异常的处理A.声明异常时,建议声明更具体的异常,这样处理可以更具体。B.对方声明几个异常,就有几个catch块,如果多个catch块中的异常出现继承关系,父类异常catch块放在最下面。C.不要定义多余的catch块。D.Catch要有具体定义的具体处理方式。不要简单的一句e.printStackTrace();也不要简单地一局输出语句。6)自定义异常项目中会出现特有问题,这些问题没有被Java所描述并封装,需要进行自定义封装。当函数中出现了throw抛出异常对象,必须给出对应的处理动作。要么在内部trycatch处理,要么在函数上声明让调用者处理。一般情况下,函数内出现异常,函数上需要声明。自定义异常必须是自定义类继承Exception。7)throw和throws区别8)RuntimeException(特殊异常)如果在函数内容中抛出该异常,函数上可以不声明,编译一样通过。如果在函数上声明了该异常,调用者可以不进行处理,编译一样通过。9)Finally代码块定义一定执行的代码块通常用于关闭资源。10)异常格式(三种):try{}catch(){}try{}catch(){}finally{}try{}finally{}catch是用于处理异常的,如果没有catch,就表示异常没有被处理过,如果该异常是检测时异常,那么必须声明。11)异常总结:注:System.exit(0);//系统,退出,jvm结束。31、练习题(小结)..\毕向东JAVA基础教程全套收藏版\传智播客毕向东Java基础视频教程-day10-06-面向对象(练习四).avi1)注:内部类中如果定义了静态成员,该内部类必须被静态修饰。2)3)This和final32、包package注:一个Java文件中不能出现多个共有的类和接口33、Import(导入)为了简化类

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

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

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

×
保存成功