


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Core Java 第六章知识点总结面向对象知识点预览对象的概念类的概念方法方法的重载( Overloading )构造方法对象与引用this 关键字对象的概念1. 什么是对象( 具体的定义状态(属性)和行为(方法)的一个实体 ) 一切客观存在的事物都是对象2. 对象的组成属性 有什么(描述对象) 对象的属性也可以是对象方法 能做什么(自己使用 别人使用)3. 计算机世界中的对象( 连续的存储空间 )类的概念1. 类是什么 具有相同行为和状态的对象的集合a) 类是对大量共性的抽象b) 类是客观事物在人脑中的主观反映c) 类是创建对象的模板先有类,后有对象class StudentString
2、name; / 属性、实例变量、成员变量int age;2. 定义类、创建对象a) 创建对象 new Student();b) 定义一个变量存储创建的对象Student s;s = new Student();可写在一起Student s = new Student();基本类型 8 种对象类型(引用):数组、对象、接口3. 实例变量(类中的变量) 属于对象a) 访问 .b) 属性初始化class StudentString name =“ suns”;int age;4. 实例变量(类)与局部变量(方法)的区别 局部变量 先赋值后使用 作用范围(从定义的代码块开始到定义的代码块结束) 命名不
3、可冲突(同一作用范围内)实例变量 可以不赋值就使用a) 实例变量存在默认值(各种各样的0)b) 实例变量至少在本类的范围内有效c) 实例变量可以和局部变量命名冲突,局部变量优先使用方法方法声明、方法实现1. 格式修饰符 返回值类型 方法名(参数 1,参数 2) 异常方法体方法的重载( Overloading )1. 方法重载( Overloading ) 同一个类中方法名相同、参数不同2. 源码参考class A/ 参数个数不同void m()void m(int a) void m(int a,int b) / 参数类型 不同 void m(String s) / 参数类型相同但排列不同 v
4、oid m(int a,String s) void m(String s,int a)/ 形参名字不同 不算重载void m(int a)void m(int b)3. 方法重载的意义对方法的调用者屏蔽因方法参数不同所造成的差异构造方法特殊性:定义语法作用1. 构造方法的概念publicStudent()a) 没有返回值类型(和没有返回值 void 不同)b) 方法名同类名一致c) 用在对象的创建 构造对象2. 构造方法的重载3. 构造方法的特点a) 构造方法不能手工调用,被 JVM自动调用Student s = new Student();/ 告诉虚拟机s.Student();b) 构造方
5、法在对象构造时,被自动调用一次,而且只会被调用一次i. 分配空间ii. 初始化属性iii. 调用构造方法c) 构造方法没有返回值d) 如果一个类中没有定义构造方法,系统默认提供一个公开的、无参的空构造方法4. 构造方法的使用场景 构造方法经常用于给实例变量赋值对象与引用1. 引用概念Student s;s = new Student();2. 引用存储的是对象内存空间的 首地址s.print();/ 遥控器与电视机的关系s 指向首地址3. 程序中的值传递 简单类型存储值(在内存中) 对象类型存储地址java view plaincopyTestValue1javapackage chp6.ex
6、08;/*说明:本程序演示了值传递结果为10基本类型 内存中存的是值*/public class TestValue1 public static void main(String args)int a =10;int b = a;b+;System.out.println(a);/答案:10TestValue2.javapackage chp6.ex09;/*说明:本程序演示了值传递结果为21对象类型 内存中存储的是地址*/public class TestValue2 public static void main(String args)Student s1 =new Student()
7、;Student s2 = s1;s2 和s1指向的是同一地址s2.age =21;System.out.println(s1.age);class Studentint age =20;/答案:21TestValue3.java..2.package chp6.ex10;8.59
8、.1.82.83./*说明:本程序演示了方法中的值传递结果为10基本类型 内存中存的是值*/public class TestValue3 public static void main(String args)int a =10;m1(a);System.out.println(a);public static void m1( int a) a +;/答案:10TestValue4.javapackage chp6.ex11;/*说明:本程序演示了的方法中的值传递
9、结果为21对象类型 内存中存储的是地址*/public class TestValue4 public static void main(String args)Student s =new Student();m2(s);System.out.println(s.age);public static void m2(Student stu)stu.age+;class Studentint age =20;this关键字1. this关键字的概念this是一种特殊的引用,指向当前对象2. this的作用a) 如果方法局部变量与实例变量命名冲突时,可以通过this属性的方式区分实例变量和局部变
10、量b) 如果发生一个构造方法中需要调用另一个构造方法,可以通过this()的方法调用,但this()必须书写在第一行String 类1. 创建一个字符串对象Stri ng s =“ suns ”;String s = newString(“ suns ” );2. 字符串值的判断equals方法String si = newString(“ suns ” );String s2 = newString( “ suns ” );System.out.pri ntln( s1= s2); false =判断引用System.out.println(s1.equals(s2);true equas
11、判断内容3. 串池(”创建的字符串独立存储在内存的串池空间中)Stri ng s1 =“ suns ”;Str ing s2 =“ suns ”System.out.pr in tl n( s1= s2);/true4. String类中的常用方法boolea nequals();char charAt(i ntpos);int length();/方法 数组length为属性Stri ngsplit();boolea nstartWith(Stri ng s);trim();Stri ngsubStri ng(i nt beg in ,i nt en d);/ ” suns ” .subString(0,2);su5. 字符串的连接不好过多侵占内存空间St
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论