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


3.什么类型的引用能指向什么类型的对象,比如People类型的引用就指向People类型的对象,但不能指向Student类型的对象,比如
People people = new People();//正确
Person people = new Student();//错误
4.构造方法(constructor)构造方法用于完成对象属性的初始化工作,构造方法的特点
a)构造方法的名字必须与类名完全一致(包含大小写)
b)构造方法没有返回值,连void也没有
c)如果在定义一个类的时候,没有为类声明构造方法,那么JAVA编译器会自动为类添加没有参数方法体为空的且构造方法
d)如果在定义一个类的时候,为类声明构造方法,那么JAVA编译器就不会自动为类添加构造方法了。
e)不能显示调用类的构造方法,构造方法通常是通过new关键字模式来调用(只是通常,后面还有反射这个概念)
5.new关键字在生成对象时完成了三件事
a)为对象开辟内存空间
b)调用类的构造方法
c)将生成的对象地址返回
6.默认的构造方法,构造方法没有参数且方法体为空
7.使用new来生成对象的时候,后面的小括号()表示构造方法的参数列表,如果构造方法不接受参数,那么小括号中内容为空,如果构造方法接收参数,那么小括号中的实际参数个数跟以及参数类型要与构造方法定义中的形式参数保持一致。
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的更多相关文章

  1. Java SE 第十讲---面向对象特征之封装2

    1.类中的属性又叫做成员变量(member variable),属性用英文表示为property或者attitude 2.对象(Object)又叫做实例(Instance),生成一个对象的过程又叫做类 ...

  2. Java SE 第九讲---面向对象特征之封装1

    1.面向对象程序设计的三大基本特征:继承(Inheritence).封装(Encapsulation).多态(Polymorphism) 2.封装:类包含数据与方法,将数据与方法放在一个类中就构成了封 ...

  3. Java SE 第二十一讲----抽象类

    1.抽象类(abstract class):使用了abstract关键字修饰的类叫做抽象类,抽象类无法实例化,也就是说,不能new出来一个抽象类的对象. 2.抽象方法(abstract method) ...

  4. Java第三次作业——面向对象基础(封装)

    Java第三次作业--面向对象基础(封装) (一)学习总结 1.什么是面向对象的封装性,Java中是如何实现封装性的?试举例说明. 封装性 封装性是面向对象的方法所应遵循的一个重要原则,它有两个含义: ...

  5. Java SE 第十六讲----面向对象特征之继承

    1.继承(inheritance):Java是单继承的,意味着一个类只能从另一个类继承(被继承的类叫做父类也叫[基类 baseclass]),继承的类叫做子类,java中的继承使用extends关键字 ...

  6. Java SE 第十六讲----面向对象特征之多态

    1.多态:polymorphism:我们说的子类就是父类(玫瑰是花,男子是人),因此多态的意思就是:父类型的引用可以指向子类的对象 public class PolyTest { public sta ...

  7. Java面向对象特征之封装

    package practice;/** * @功能 创建动物类,对动物的属性进行封装 * @author square 凉 * */public class Animal { /**  * 动物姓名 ...

  8. Java访问修饰符和三大特征(封装,继承和多态)

    一.访问修饰符基本介绍: java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围): 1.公开级别:用public修饰,对外公开2.受保护级别:用protected修饰,对子 ...

  9. Java第三次作业--面向对象基础(封装)

    Deadline: 2017-4-6 23:00 一.学习要点 认真看书并查阅相关资料,掌握以下内容: 掌握简单类的设计 掌握利用对象引用建立类与类之间的联系 掌握this关键字 掌握static关键 ...

随机推荐

  1. JavaScript对SVG进行操作的相关技术

    原文地址:http://www.ibm.com/developerworks/cn/xml/x-svgscript/   本文主要介绍在 SVG 中通过编程实现动态操作 SVG 图像的知识. SVG ...

  2. 【转】TYVJ 1695 计算系数(NOIP2011 TG DAY2 1)

    计算系数 题目描述 给定一个多项式(ax + by)k,请求出多项式展开后xn ym项的系数. [数据范围] 对于 30%的数据,有0≤k≤10: 对于 50%的数据,有a = 1,b = 1: 对于 ...

  3. .net framework4与其client profile版本的区别

    简而言之,client profile版本是完整版本的一个子集.包含大多数最常用的功能并减小了体积,以便更容易的安装和发布,同时还有微软所声称的一些好处,比如因为减少了某些库,所以使其更加安全等等. ...

  4. Worktile 团队协同办公工具

    Worktile是一个团队协同办公工具,通过简单的协作.沟通和分享,实现团队交互与任务管理的轻松协作.工作随身带,多平台.云数据,随时随地与团队一起工作,项目.任务.文件.讨论.文档.事件.活动流.通 ...

  5. DIV+CSS命名规范-转载2

    一.CSS文件及样式命名1.CSS文件命名规范 全局样式:global.css: 框架布局:layout.css: 字体样式:font.css: 链接样式:link.css: 打印样式:print.c ...

  6. fiddler Android下https抓包全攻略

    fiddler Android下https抓包全攻略 fiddler的http.https的抓包功能非常强大,可非常便捷得对包进行断点跟踪和回放,但是普通的配置对于像招商银行.支付宝.陌陌这样的APP ...

  7. PHPNow升级PHP版本为5.3.5的方法

    在WIN上有时候需要测试一些PHP程序,又不会自行独立配置环境,那么PHPNow是非常好的选择,这篇文章主要为大家分享下如果将phpnow的php版本升级为5.3.5   在WIN上有时候需要测试一些 ...

  8. 51nod 1056

    n<=10000000000 然后欧拉函数的前缀和可以用莫比乌斯函数的前缀和快速求,注意各种取模 #include<cstdio> typedef long long i64; ,P ...

  9. 请使用-Xlint:deprecation重新编译

    [已解决]Android Studio编译OsmAnd出现警告:GeoPointParserUtil.java使用或覆盖了已过时的 API.有关详细信息请使用-Xlint:deprecation重新编 ...

  10. 黄聪:主机宝安装wordpress注意事项

    1.web环境安装PHP使用5.4.21-nts-03版本 2.web环境安装Mysql使用5.5.45版本 3.创建好站点后,给站点的public_html目录添加IIS_xxx用户最高权限,添加N ...