黑马程序员--------面向对象

 
 

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一、面向对象把大象装进冰箱例子  面向过程。1.打开()2.存储()3.关闭()面向对象,冰箱 打开();存储();关闭();面对对象是基于面向过程。面向对象编程的三大基本特征:
1.封装  2.继承  3.多态 

二、类和对象
类的定义:对一切事物的抽象的描述。(具体事物的抽象)

对象:类的实例。一个类对应多个对象。


三、成员变量和局部变量、静态变量

 成员变量:

                a)成员变量定义在类中,在整个类中都可以被访问。

                b) 成员变量随着对象的建立而建立,存在于对象所在的堆内存中。

                c) 成员变量有默认初始化值。

       局部变量:

                a) 局部变量只定义在局部范围内,如:函数内,语句内等。

                b) 局部变量存在于栈内存中。

                c) 作用的范围结束,变量空间会自动释放。

                d) 局部变量没有默认初始化值。

静态变量:

a)类变量,可以用类名直接调用

b)静态变量存在于静态区中。

c)随类的加载而加载,随类的消亡而消亡。
四、匿名对象

为了简化书写,new Person();

什么时候使用匿名对象?

1.当类中只是用一次方法时。

2.作为参数进行传递。

五、封装

定义:就是把属性和方法封装到一个类里面。

1、作用 隐藏属性和实现细节,对外提供公共访问方式。
     注意:好的程序设计类中的属性都需要封装。
2、封装原则:

        a)  将不需要对外提供的内容都隐藏起来。

        b)  把属性都隐藏,提供公共方法对其访问。

3.、封装的表现形式

    a .对属性私有化,对外提供set和get方法。

4、封装的好处

    a.提高了安全性,不允许直接访问细节

    b.提高了易用性

    c.提高了复用性

    d.隔离了变化


class Person
 private String name ;//私有属性
 private int age;
 public String getName() { //对外提供get方法获取值
  return name;
 }
 public void setName(String name) {//对外提供公共的的设置方法
  if(age>0)
  this.name = name;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
}


六、构造函数

1、作用:用于对象的初始化。

2、特点:
     1)函数名与类名相同。
      2)没有返回值,没有返回类型。
      3)通过关键字new创建对象。
    注意:1.一个类中至少有一个构造函数。有一个默认的无参构造函数。
                2..构造函数中有return语句。
3.构造函数的三个隐式
    1)执行super语句
    2)初始化显示
    3 )执行构造代码块,然后再执行显示代码。
4.什么时候使用构造函数。
 当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。

七、this关键字
1、成员方法可以访问成员变量。
2、this实在实例化此类对象是,会被赋成当前对象的地址。
3、可以通过this实现同一个类中的构造函数之间的访问。
4.一般使用时是隐式,但是局部变量覆盖成员变量时,如果要访问成员变量,可以使用:this.成员变量名。

八、static关键字
1、作用:修饰属性和方法。
2、特点:
    1)修饰的成员可以直接被类名调用
    2)静态成员优先于对象存在
    3)静态成员随类的加载而加载,随类的消失而消失。
注意:1、静态方法的无法调用非静态的成员。
           2、静态中不能有this、super(因为静态优先于对象存在);
           3、静态代码块随类的出现而出现,只执行一次。

九、final关键字
    1、修饰的属性为常量;
     2、修饰的方法不能被覆盖;
     3、修饰的类不能继承(与abstract不能共存);


十、单例模式
    1、作用:
        保证对象在内存中对象的唯一性;
常用在访问同一个文件,保证数据唯一。
    2、具体代码




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值