面向对象封装 续2

转载 2015年07月08日 16:52:35
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 来生成对象的时候,后面的小括号()表示构造方法的参数列表,如果构造方法
不接收参数,那么小括号中的内容为空;如果构造方法接收参数,那么小括号中的实际
参数就需要与构造方法定义中的形式参数保持一致(参数数量一致、参数类型一致、按

照顺序逐一赋值)。 


例子:

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;
}
}

面向对象编程三大特性------封装、继承、多态

本文是对面向对象编程三大特性(封装、继承、多态)的一个学习总结。 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只...
  • jianyuerensheng
  • jianyuerensheng
  • 2016年06月07日 11:41
  • 8149

面向对象的特点,封装性,继承性,多态性!

1.面向对象程序设计有三大特点,分别是封装,继承,多态,接下来就介绍一下这三个特点,积累一下。 2.封装,封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体是...
  • u012561176
  • u012561176
  • 2015年01月29日 19:37
  • 1518

面向对象的三大特征——封装、继承、多态

接触过面向对象的人都知道面向对象有三大特征,分别是封装、继承和多态。这三者分别指的是什么,为什么是这哥仨,使用他们有什么好处,我们来梳理一下。 封装        原则:隐藏对象的属性和实现细节,仅对...
  • haovip123
  • haovip123
  • 2015年02月20日 16:59
  • 3151

Java SE 第十一讲(面向对象之封装) 续二

  • 2014年06月05日 18:04
  • 163KB
  • 下载

面向对象高级续2(instanceof关键字、抽象类和接口的应用、Object类、包装类)

具体内容 在java中可以使用instanceof关键字判断一个对象到底是哪个类的实例。 ·对象 instanceof 类   - ->返回boolean类型;代码如下: class A{ /...
  • cz1029648683
  • cz1029648683
  • 2011年07月31日 14:54
  • 1297

面向对象基础续2(static关键字、理解main方法、代码块、构造方法私有化(单例模式)) .

static关键字如果现在希望一个属性被所有对象所共同拥有,则可以将其声明为static类型,声明static类型的属性或方法之后此属性或方法也成为类方法,可以由类型直接调用。使用static声明属性...
  • cz1029648683
  • cz1029648683
  • 2011年07月27日 17:16
  • 913

黑马程序员——Java基础---面向对象(封装、构造函数)(2)

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------                                    ...
  • lanzhenyue1990
  • lanzhenyue1990
  • 2015年10月14日 16:08
  • 250

Cocos2d-Lua之面向对象的封装

Lua作为一门脚本语言,不同于C++,java这类的高级语言,Lua中的面向对象只能通过封装与继承(只能是单继承)实现,并没有多态,连重载都不支持的Lua拿什么资本支持多态呢。先说一下类的格式:loc...
  • maoliran
  • maoliran
  • 2016年06月18日 09:40
  • 291

黑马程序员------面向对象(No.2)(封装、构造函数、构造代码块、this)

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------    封装(Encapsulat...
  • HelloXiaobi
  • HelloXiaobi
  • 2013年09月09日 20:32
  • 679

【java基础】--(2)面向对象特征之概念、封装、继承

1、面向对象: 将事物抽象成类和对象,由于对象具有自己的状态和行为,程序通过对象对消息的反映来完成特定的任务。 2、封装 2.1、定义: 隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中...
  • zhang__tianxu
  • zhang__tianxu
  • 2013年09月23日 22:32
  • 1817
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:面向对象封装 续2
举报原因:
原因补充:

(最多只允许输入30个字)