Core Java 第六章知识点总结.doc
文本预览下载声明
Core Java 第六章知识点总结——面向对象
知识点预览
?
对象的概念
类的概念
方法
方法的重载(Overloading)
构造方法
对象与引用
this关键字
?
对象的概念
?
1. 什么是对象(具体的定义状态(属性)和行为(方法)的一个实体)
一切客观存在的事物都是对象
2.对象的组成
属性 有什么(描述对象) 对象的属性也可以是对象
方法 能做什么(自己使用 别人使用)
3.计算机世界中的对象(连续的存储空间)
类的概念
1. 类是什么
具有相同行为和状态的对象的集合
a)类是对大量共性的抽象
b)类是客观事物在人脑中的主观反映
c)类是创建对象的模板
?
先有类,后有对象
class Student{
??????? String name;//属性、实例变量、成员变量
??????? int age;
}
2. 定义类、创建对象
a)????????创建对象 new Student();
b)???????定义一个变量存储创建的对象
Student s;
s = new Stuent();
可写在一起
Student s = new Stuent();
?
基本类型?8种
对象类型(引用):数组、对象、接口
3. 实例变量(类中的变量) 属于对象
a)访问 .
b)属性初始化
class Student{
?????? String name = “suns”;
?????? int age;
}
4. 实例变量(类)与局部变量(方法)的区别
局部变量
先赋值后使用
作用范围(从定义的代码块开始到定义的代码块结束)
命名不可冲突(同一作用范围内)
实例变量
可以不赋值就使用
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){}
??????? //参数类型相同但排列不同
??????? void 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)构造方法在对象构造时,被自动调用一次,而且只会被调用一次
?i.??????分配空间
?ii. ?????初始化属性
?iii.?????调用构造方法
c)构造方法没有返回值
d)如果一个类中没有定义构造方法,系统默认提供一个公开的、无参的空构造方法
4. 构造方法的使用场景
构造方法经常用于给实例变量赋值
?
对象与引用
?
1.引用概念
Student s;
s = new Student();
2.引用存储的是对象内存空间的首地址
s.print();//遥控器与电视机的关系
s指向首地址
3.程序中的值传递
简单类型存储值(在内存中)
对象类型存储地址
[java]?view plaincopy
//TestValue1.java???
package?chp6.ex08;??
??
/**?
?*??
?*?说明:本程序演示了值传递?结果为10?基本类型?内存中存的是值?
?*/??
public?class?TestValue1?{??
??public?static?void?main(String?args[]){??
??????int?a?=?10;??
??????int?b?=?a;??
??????b++;??
??????System.out.println(a);??
显示全部