Java学习笔记.docx
- 文档编号:30364956
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:27
- 大小:6.21MB
Java学习笔记.docx
《Java学习笔记.docx》由会员分享,可在线阅读,更多相关《Java学习笔记.docx(27页珍藏版)》请在冰豆网上搜索。
Java学习笔记
Java学习笔记
Java对内存的分配是动态的,它采用面向对象的机制。
面向对象的基本特征:
面向对象方法具有三个基本特征:
封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism),其中,继承是面向对象实现软件复用的重要手段,当子类继承父类后,子类作为一种特殊的父类,将直接获得父类的属性和方法;封装指的是将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能;多态指的是子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征,这意味着同一个类型的对象在运行时可能表现出不同的行为特征。
除此之外,抽象也是面向对象的重要部分,抽象就是忽略一个主题中与当前目标无关额那些方面,以便更充分地注意与当前目标有关的方面。
抽象并不打算了解全部问题,而只是考虑部分问题。
例如我们需要考察Person实体时,我们可不能在程序中将Person的所有细节都定义出来,通常只能定义Person的部分数据、部分行为特征——而这些数据、行为特征是软件系统所关心的部分。
提示:
虽然抽象是面向对象的重要部分,但它不是面向对象的特征之一,因为所有编程语言都需要抽象。
当开发者进行抽象时应该考虑哪些特征是软件系统所需要的,那么这些特征就应该使用程序记录,并表现出来。
因此,需要抽象哪些特征没有必然的规定,而是取决于软件系统的功能需求。
Java是跨平台的
Eclipse快捷键:
Ctrl+S保存
数据类型确定要储存在内存中的数据类型
变量是储存数据的基本单元
运算符是一个符号,用与操作一个或多个参数以得出结果
程序是按顺序执行的,控制流语句允许改变次顺序。
*String也是引用类型
*注意点:
switch的表达式为int型,char型。
据说1.7可以使String类型,但是尚未考证
Break,return,continue的区别:
1、return语句的作用
(1)return从当前的方法中退出,返回到该调用的方法的语句处,继续执行
(2)return返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致,可以使用强制类型转换来是数据类型一致
(3)return当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。
2、break语句的作用
(1)只能在循环体内和switch语句体内使用break语句。
(2)当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
(3)当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。
(4)在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环
3、continue语句作用
(1)continue语句的一般形式为:
continue;
(2)其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。
(3)注意:
执行continue语句并没有使整个循环终止。
在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分,然后决定循环是否继续进行。
(4)在for循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进行“表达式2”的条件测试,
最后根据“表达式2”的值来决定for循环是否执行。
在循环体内,不论continue是作为何种语句中的语句成分,都将按上述功能执行,这点与break有所不同
JAVA中值类型和引用类型的不同
[定义]
引用类型:
表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值,那么调用这个方法是传入的变量的值也将改变.
值类型:
表示复制一个当前变量传给方法,当你在这个方法中改变这个变量的值时,最初生命的变量的值不会变.
通俗说法:
值类型就是现金,要用直接用;引用类型是存折,要用还得先去银行取现。
----(摘自网上)
[值类型]也就是基本数据类型
基本数据类型常被称为四类八种
四类:
1,整型2,浮点型3,字符型4,逻辑型
八种:
1,整型3种byte,short,int,long
2,浮点型2种float,double
3,字符型1种char
4,逻辑型1种boolean
[引用类型]
除了四类八种基本类型外,所有的类型都称为引用类型
在弄清楚值类型与引用类型之后,最后一点就是值传递与引用传递,这才是关键
[值传递]
基本数据类型赋值都属于值传递,值传递传递的是实实在在的变量值,是传递原参数的拷贝,值传递后,实参传递给形参的值,形参发生改变而不影响实参。
[引用传递]
引用类型之间赋值属于引用传递。
引用传递传递的是对象的引用地址,也就是它的本身(自己最通俗的理解)。
引用传递:
传的是地址,就是将实参的地址传递给形参,形参改变了,实参当然被改变了,因为他们指向相同的地址。
引用和我们的指针差不多,但是它不又不需要我们去具体的操作
[内存分配]
一个具有值类型(valuetype)的数据存放在栈内的一个变量中。
即是在栈中分配内存空间,直接存储所包含的值,其值就代表数据本身。
值类型的数据具有较快的存取速度。
一个具有引用类型(referencetype)的数据并不驻留在栈中,而是存储于堆中。
即是在堆中分配内存空间,不直接存储所包含的值,而是指向所要存储的值,其值代表的是所指向的地址。
当访问一个具有引用类型的数据时,需要到栈中检查变量的内容,该变量引用堆中的一个实际数据。
引用类型的数据比值类型的数据具有更大的存储规模和较低的访问速度。
[java中的垃圾回收机制]
当一个堆内存中的对象没有被栈内存中表示地址的值“引用”时,这个对象就被称为垃圾对象,它无法被使用但却占据着内存中的区域,好比这样:
Strings=newString(“person”);s=newString(“man”);s本来是指向堆内存中值为person的对象的,但是s突然讨厌person了,它指向了堆内存中的man对象了,person就像一个孤儿一样被s遗弃了,但是person比孤儿还要惨,因为没有什么能找的到它,除了位高权重的‘垃圾回收器’,不过被当官的找到往往没什么好事,尤其是这个‘垃圾回收器’,它会豪不留情把‘垃圾’们清理走,并且无情的销毁,以便释放内存。
[装箱与拆箱]
其实装箱就是值类型到引用类型的转化过程。
将一个值类型变量装箱成一个引用类型变量,首先会在托管堆上为新的引用类型变量分配内存空间,然后将值类型变量拷贝到托管堆上新分配的对象内存中,最后返回新分配的对象内存地址。
装箱操作是可逆的,所以还有拆箱操作。
拆箱操作获取只想对象中包含值类型部分的指针,然后由程序员手动将其对应的值拷贝给值类型变量。
什么是类:
(1)从语义上理解:
类就是用于创建对象的一个模板,是一个抽象的概念;
(2)从语法上理解:
类就是我们自定义的一种数据类型;
类和对象的关系:
从语义上理解:
类是创建对象的模板,而对象是类的一个实例;
从语法上理解:
类就是我们自定义的一种数据类型,而对象就是这种类型的变量
构造方法的特点:
构造方法是Java类中的一个比较特殊的方法,特殊在一下几点:
1.该方法一定要与类同名
2.该方法没有返回值(没有void)
3.该方法不能手工调用,它是在创建类的实例时会被系统自动调用
4.一个类可能没有构造方法(此时其实有一个隐式无参的构造方法),也可以有几个构造方法,它们之间构成重载关系。
5.注意:
如果我们定义了有参的构造方法,就会屏蔽掉系统无参的构造方法,此时如果我们想要实例化无参的类,我们可以在定义一个无参的构造方法。
6.构造方法不能被继承
构造方法的作用与使用场合:
1.当我们在创建一个类的实例时,就想给它的私有字段赋初始值
2.简化我们为类字段赋值的代码
什么是重载:
当一个类中存在两个或两个以上同名的方法,当这两个方法满足一下关系时,他们两者之间就构成了重载关系:
1.一个类中存在着两个或两个以上同名方法
2.这两个方法的参数的组合必须不同(参数的数目不同或参数的类型的组合不同)
3.返回值不能作为两个方法是否构成重载的依据
String类的trim()方法,将字符串前后的“空格”去掉。
注意:
使用split()方法是要注意所使用的字符,有些字符需要进行转译。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 学习 笔记