面向对象封装 续2
来源:互联网 发布:圣约瑟夫大学 知乎 编辑:程序博客网 时间:2024/06/08 00:56
1. 如果一个类包含了属性与方法,那么该类的每一个对象都具有自己的属性,但无论一个
类有多少个对象,这些对象共享同一个方法。
2. 关于方法参数传递的总结:对于 Java 中的方法参数传递,无论传递的是原生数据类型
还是引用类型,统一是传值(pass by value)。
3. 什么类型的引用就能指向什么类型的对象,比如 People 类型的引用就能指向 People 类
型的对象,但不能指向 Student 类型的对象。比如:
People people = new People(); // 正确
People people = new Student(); //错误
4. 构造方法(Constructor):构造方法用于完成对象属性的初始化工作,构造方法的特点:
a) 构造方法的名字必须与类名完全一致(包含大小写)
b) 构造方法没有返回值,连 void 也不能出现。
c) 如果在定义一个类的时候,没有为类声明构造方法,那么 Java 编译器会自动为类
添加一个没有参数且方法体为空的构造方法(默认的构造方法)
d) 如果在定义一个类的时候,为类声明了构造方法,那么 Java 编译器就不会再为类
添加构造方法了。
e) 不能显式调用类的构造方法,构造方法通常是通过 new 关键字隐式调用。
5. new 关键字在生成对象时完成了三件事情:
a) 为对象开辟内存空间。
b) 调用类的构造方法。
c) 将生成的对象的地址返回。
6. 默认的构造方法:构造方法没有参数且方法体为空。
7. 使用 new 来生成对象的时候,后面的小括号()表示构造方法的参数列表,如果构造方法
不接收参数,那么小括号中的内容为空;如果构造方法接收参数,那么小括号中的实际
参数就需要与构造方法定义中的形式参数保持一致(参数数量一致、参数类型一致、按
类有多少个对象,这些对象共享同一个方法。
2. 关于方法参数传递的总结:对于 Java 中的方法参数传递,无论传递的是原生数据类型
还是引用类型,统一是传值(pass by value)。
3. 什么类型的引用就能指向什么类型的对象,比如 People 类型的引用就能指向 People 类
型的对象,但不能指向 Student 类型的对象。比如:
People people = new People(); // 正确
People people = new Student(); //错误
4. 构造方法(Constructor):构造方法用于完成对象属性的初始化工作,构造方法的特点:
a) 构造方法的名字必须与类名完全一致(包含大小写)
b) 构造方法没有返回值,连 void 也不能出现。
c) 如果在定义一个类的时候,没有为类声明构造方法,那么 Java 编译器会自动为类
添加一个没有参数且方法体为空的构造方法(默认的构造方法)
d) 如果在定义一个类的时候,为类声明了构造方法,那么 Java 编译器就不会再为类
添加构造方法了。
e) 不能显式调用类的构造方法,构造方法通常是通过 new 关键字隐式调用。
5. new 关键字在生成对象时完成了三件事情:
a) 为对象开辟内存空间。
b) 调用类的构造方法。
c) 将生成的对象的地址返回。
6. 默认的构造方法:构造方法没有参数且方法体为空。
7. 使用 new 来生成对象的时候,后面的小括号()表示构造方法的参数列表,如果构造方法
不接收参数,那么小括号中的内容为空;如果构造方法接收参数,那么小括号中的实际
参数就需要与构造方法定义中的形式参数保持一致(参数数量一致、参数类型一致、按
照顺序逐一赋值)。
例子:
public class ParamTest
{
public static void main(String[] args)
{
Person person = new Person();
person.change(person);
int age = person.age;
System.out.println(age);
System.out.println("--------------------------");
int i = 10;
person.change2(i);
System.out.println(i);
}
}
class Person
{
int age = 20;
public void change(Person person)
{
person = new Person();
person.age = 30;
}
public void change2(int age)
{
age = 40;
}
}
0 0
- 面向对象封装 续2
- 10:面向对象封装 续
- Java.2面向对象封装
- 第十节:面向对象之封装续一
- 面向对象2_主要特征【封装】【继承】
- 黑马程序员_06面向对象(2)封装
- 黑马程序员--2 面向对象--封装
- #2JAVA面向对象之封装#
- lua面向对象的2种私密性封装
- 面向对象2---封装,this,构造方法
- 面向对象----抽象----封装
- 面向对象中的封装
- 面向对象之封装
- 面向对象,封装,静态
- 面向对象之封装
- 面向对象之封装
- 面向对象--封装
- 面向对象之封装
- <c:when> <c:forEach> 标签
- 面向对象编程的特征以及常用的修饰符
- TCP/IP基础
- Landsat 8(一)
- 初始化图片为图片大小
- 面向对象封装 续2
- 总结Django中的用户权限模块
- SecureCRT vbs脚本小记
- 板子上mysql热备份
- iOS UIButton在某些情况下不能立刻响应TouchDown事件
- 2012年5月SAT香港真题解析
- Java小Tips
- 数据交换格式的思考和学习
- java Date获取 年月日时分秒