Java SE 第十一讲----面向对象特征之封装2
1.如果一个类包含了属性跟方法,那么该类的每一个对象都具有自己的属性,但无乱一个类有多少个对象,这些对象共享同一个方法。
2.关于方法参数传递的总结:
对于Java中的方法参数传递,无论传递的是原生数据类型,还是引用类型,统一是传值(pass by value)
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);
}
}
public class Person {
int age = 20;
public void change(Person person){
person = new Person();
person.age = 30;
}
public void change2(int age){
age = 40;
}
}
输出结果是:
20
----------------
10
解析:20——引用是对象地址的表现形式,10——因为是i把10给了age,age是变成了10,后面又变成了40,但是i自己还是10
public class Person1Test {
public static void main(String[] args){
Person1 person = new Person1(4);//这里的new 后面小括号就需要带有参数,因为Person1类中构造方法是要参数的
System.out.println(person.age);
}
}
public class Person1 {
int age;
public Person1(int i){
age = i;
}
}
Java SE 第十一讲----面向对象特征之封装2的更多相关文章
- Java SE 第十讲---面向对象特征之封装2
1.类中的属性又叫做成员变量(member variable),属性用英文表示为property或者attitude 2.对象(Object)又叫做实例(Instance),生成一个对象的过程又叫做类 ...
- Java SE 第九讲---面向对象特征之封装1
1.面向对象程序设计的三大基本特征:继承(Inheritence).封装(Encapsulation).多态(Polymorphism) 2.封装:类包含数据与方法,将数据与方法放在一个类中就构成了封 ...
- Java SE 第二十一讲----抽象类
1.抽象类(abstract class):使用了abstract关键字修饰的类叫做抽象类,抽象类无法实例化,也就是说,不能new出来一个抽象类的对象. 2.抽象方法(abstract method) ...
- Java第三次作业——面向对象基础(封装)
Java第三次作业--面向对象基础(封装) (一)学习总结 1.什么是面向对象的封装性,Java中是如何实现封装性的?试举例说明. 封装性 封装性是面向对象的方法所应遵循的一个重要原则,它有两个含义: ...
- Java SE 第十六讲----面向对象特征之继承
1.继承(inheritance):Java是单继承的,意味着一个类只能从另一个类继承(被继承的类叫做父类也叫[基类 baseclass]),继承的类叫做子类,java中的继承使用extends关键字 ...
- Java SE 第十六讲----面向对象特征之多态
1.多态:polymorphism:我们说的子类就是父类(玫瑰是花,男子是人),因此多态的意思就是:父类型的引用可以指向子类的对象 public class PolyTest { public sta ...
- Java面向对象特征之封装
package practice;/** * @功能 创建动物类,对动物的属性进行封装 * @author square 凉 * */public class Animal { /** * 动物姓名 ...
- Java访问修饰符和三大特征(封装,继承和多态)
一.访问修饰符基本介绍: java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围): 1.公开级别:用public修饰,对外公开2.受保护级别:用protected修饰,对子 ...
- Java第三次作业--面向对象基础(封装)
Deadline: 2017-4-6 23:00 一.学习要点 认真看书并查阅相关资料,掌握以下内容: 掌握简单类的设计 掌握利用对象引用建立类与类之间的联系 掌握this关键字 掌握static关键 ...
随机推荐
- C#4.0新特性:可选参数,命名参数,Dynamic
1.可选参数 可以为方法的参数设置一个默认值,如下: class Program { static void Main(string[] args) { Show(); Show("cary ...
- linux包之e2fsprogs之chattr命令
概述 [root@localhost ~]# rpm -qf /usr/bin/chattre2fsprogs-1.41.12-18.el6.x86_64 chattr命令的作用很大,其中一些功能是由 ...
- OpenJudge计算概论-单词替换
/*====================================================================== 单词替换 总时间限制: 1000ms 内存限制: 65 ...
- 解决504 Gateway Time-out(nginx)
504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站 我遇到这个问题是在需要插入一万多条数据时候遇到的 一般看来, 这种情况可能是由于nginx默认的 ...
- ORA-27086: unable to lock file - already in use
问题现象: SQL> startup ORACLE instance started. Total System Global Area 1854021632 bytes Fixed Size ...
- Android Wear(手表)开发 - 学习指南
版权声明:欢迎自由转载-非商用-非衍生-保持署名.作者:Benhero,博客地址:http://www.cnblogs.com/benhero/ Android Wear开发 - 学习指南 http: ...
- 就Double、Decimal来说数据计算异常
场景: 客户提示发料时提示库存不足,可肉眼比对发料数量与库存数量没有一点问题. 但调度跟踪却发现出现“不可思议”的异常. 简单分析: 1.转Decimal再计算没问题.精度较高,存储方法也不一样,所以 ...
- MongoDB源码概述——内存管理和存储引擎
原文地址:http://creator.cnblogs.com/ 数据存储: 之前在介绍Journal的时候有说到为什么MongoDB会先把数据放入内存,而不是直接持久化到数据库存储文件,这与Mong ...
- 静态HTML页面不缓存js文件的方法
今天做项目时候遇到一个问题,由于采用了生成静态的CMS系统,但是页面头部需要显示用户登录的信息,也就是,没有登录时,显示登录框,用户登录后,则显 示登录信息.于是用到了js调用php文件的方法.但是由 ...
- Linux大文件传输(转)
我们经常需要在机器之间传输文件.比如备份,复制数据等等.这个是很常见,也是很简单的.用scp或者rsync就能很好的完成任务.但是如果文件很大,需要占用一些传输时间的时候,怎样又快又好地完成任务就很重 ...