现在的位置: 首页 > 综合 > 正文

黑马程序员—Java入门学习日记基础篇-面向对象总结2

2018年05月23日 ⁄ 综合 ⁄ 共 2166字 ⁄ 字号 评论关闭

------- android培训java培训、期待与您交流! ----------

-- Java面向对象编程知识点总结

一:面向对象概述。

  面向对象:使复杂的事物变得简单,使程序的开发人员从程序的被动者变为了程序的指挥者。

  • 类:

类是对现实世界事物的抽象化描述。

  • 对象:

对象是类的实实在在的实体。

  • 面向对象的特点1.开发的过程:其实是不断的创建对象,使用对象,指挥对象。2.设计的过程:其实就是在管理和维护对象之间的关系的过程。

  • 面向对象:(对象+对象+对象......n+对象)+消息(消息就是对对象的控制)。

  • 基于过程算法+数据结构,是单一的通过设定好的步骤一步一步的实现

  • 面向对象的特征:封装、继承、多态。

.类的实现过程:

例如以人为例,先分析人具有的静态属性(属性)和动态行为(行为)。

人:属性有:姓名、性别、肤色、国籍、年龄、学历等。

行为有:编程、学习、吃饭、睡觉、打篮球等。

1.从以上属性和行为中抽取你关心或者说是需要用的属性和行为。

V

V

                     VVVV

Class {

    姓名

    性别

    年龄

    学习();

    编程();

}   使用Java程序实现:              

v

v

                   VVVV

classPerson {

       String name;

       String sexy;

       Int age;

       void learn(){}

       void Coding(){}

}

2.创建对象的过程(也称作类的实例化过程)

class PersonDemo{

 publicstatic void main (String[] args){

         Personman = new Person();//实例化对象使用new关键字

//其实是在内存的堆内存中开辟对象的存储空间。

//下面是对实例化的对象进行详细的描述和使用。

         Man.name= “xiaoqiang”//调用man对象中的属性

man.age = 20;   

         man.sexy= “male”;

         man.learn();//调用man中的方法行为。

         man.coding();

}

} 


创建对象的过程如下图所示:

 

 

三:类中的元素:

成员变量:作用于整个类中(存在于堆内存中因对象的存在而存在)。

局部变量:作用于函数中或符合语句中,存在于栈内存中。

匿名对象: Person man = new Person();可以写为:new
Person
().age = 20

匿名对象的使用方法1:调用属性是无意义的,单调用方法只调用一次时可以使用,当对象调用多个方法时,必须声明引用类型即句柄。

使用方法2:可以将匿名对象作为实参进行传递。

三:封装:

   封装是指隐藏对象的属性和方法,仅提供公共的访问方式。

1.封装的优点:1.提高了代码的重用性。2.将变化隔离。3.提供了安全性便于使用。

封装的原则:1.将不需要对外提供的内容隐藏起来。2.提供公共的访问方式对其进行访问。

例如:某大型汽车零配件公司建立了的网络交易平台。

Class零件类{

             零件价格;

             零件销量;

             零件的购买方;

}

B厂客户可以从此类中获取零件的价格、零件的销量,当客户获得某种型号的零件大部分被A厂客户购买(B厂客户的禁止对手)时,B厂有可能停止购买,因为与竞争对手的货源相同,这时如果该公司对该类中的零件的购买方进行私有化(private)也就是进行封装,则就不会出现上述情况。但某些客户是需要通过交易平台对购买方的

信息进行获得,比如公司的老板有获得购方的权限,此时就要建立一个共有的(public)方法给老板,让老板可以获得这个属性。

Class零件类{

         Publicint零件价格;

         Publicint零件销量;

         PrivateString零件的购买方;

public String bossCan (){

         return零件的购买方;

}

}

2.在类中一个私有的成员变量通常会对应两个方法:1.设置器2.访问器。

如:class LearnDemo{

          private int age;

          public void setAge(int a){

   age= a;

}

          public void getAge(){

   returnage;

}

 

}

3.构造函数:

     1.构造函数与类名一致。

    2.不需要定义返回值。

    3.不可以写return语句。

对象在建立后首相调用对象的构造函数进行初始化,假如当一个类中没有定义构造函数,系认会默认为该类添加构造函数。

构造函数的作用:构造函数为对象初始化(原因是某些对象在一出现后就具有某些属性。比如:中国人生下来就是黄色的皮肤)。

构造函数的重载:因为某些对象需要初始化多种属性。

重载的方法:函数名必须相同、参数类型和参数个数不能彼此间相同

构造函数与普通函数的区别:1.构造函数在对象一建立时就首先运行,只能运行一次。2.一般函数:调用时执行,并可以执行多次。



抱歉!评论已关闭.