java面向对象(一)

1.       面向对象的理解

  •    面向对象是相对面向过程而言。
  •    面向对象和面向过程都是一种思想。
  •    面向过程强调的是功能行为。
  •    面向对象:将功能封装进对象,强调具备了功能的对象。
  •    面向对象是基于面向过程的。

2.       面向对象的开发,设计和特征

  • 开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情。
  • 设计的过程:就是在管理和维护对象之间的关系。
  • 特征:封装、继承和多态。

3.       类和对象的关系

类就是对现实生活中事物的描述;对象就是这类事物实实在在存在的个体。
Java
中,描述就是class定义的类,具体对象就是对应Java在堆内存中用new建立的实体。
例:描述汽车(颜色、轮胎数)。描述事物其实就是描述事物的属性和行为。
class Car
{
 
     String   color = “red”;//描述颜色
 
     int    num = 4;//描述轮胎数
 
     void   run()
      {
            System.out.println(color+“..”+num);
      }
}
class CarDemo
{
      public    static void main(String[] args)
      {
             Car    c = new car();//c就是一个类类型变量。记住:类类型变量指向对象。
 
            c.run();
      }
}

3.1成员变量和局部变量的区别

成员变量:成员变量定义在类中,在整个类中都可以被访问;成员变量随着对象的建立存在于对象所在的堆内存中;成员变量有默认的初始值。

局部变量:局部变量只定义在局部范围内,如:函数内,语句内等;局部变量存在于栈内存中;作用范围结束,变量空间会自动释放;局部变量没有默认初始化值。

3.2匿名对象

匿名对象是对象的简化形式。
匿名对象两种使用情况:
A,当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。如果对        一个对象进行多个成员调用,必须给这个对象起个名字。
B,可以将匿名对象作为实际参数进行传递。

4.       封装(Encapsulation

  • 定义:指隐藏对象的属性和实现细节,仅对外提供公共的访问方式。
  • 好处:将变化隔离;便于使用;提高重用性;提高安全性。
  • 原则:将不需要对外提供的内容都隐藏起来;把属性都隐藏,提供公共方法对其访问。

5.       private(私有)关键字

private关键字:是一个权限修饰符;用于修饰成员(成员变量和成员函数);被私有化的成员只在本类中有效。

注意:私有仅仅是封装的一种表现形式。

对外提供访问方式是因为可以在访问方式中加入逻辑判断等语句。对访问的据进行操作。提高代码健壮性。

例:


6.       构造函数

特点:函数名与类名相同;不用定义返回值类型;不可以写return语句

作用:可以给对象进行初始化。

注意:对象一建立就会调用与之对应的构造函数。当在类中自定义了构造函数后,默认的构造函数就没有了。

构造函数的小细节:当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。

 

构造函数与一般函数的不同:

a,在写法上有不同.

b,在运行上有不同:

  •  构造函数是在对象一建立就运行。给对象初始化。而一般方法是对象调用才执行,给是对象添加对象具备的功能。
  •  一个对象建立,构造函数只运行一次。而一般方法可以被该对象调用多次。

      

       构造代码块作用:给对象进行初始化。

       对象一建立就运行,而且优先于构造函数执行。

       和构造函数的区别:

       构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化。

       构造代码快中定义的是不同对象共性的初始化内容。
      
格式:{

                  执行语句;

                  }

 

7.       this关键字

 

特点:this代表其所在函数所属对象的引用。即代表本类对象的引用。

什么时候用this关键字:当在函数内需要用到调用该函数的对象时。

this的应用:判断是否为同年龄的人

public boolean compare(Person p)

{

       return  this.age == p.age;

}

class PersonDemo

{

       public static  void main(String[] args)

       {

             Person  p = new Person(20);

             boolean b = p1.compare(p2);

              System.out.println(b);

       }

}

 

8.       补充:this语句

 

this语句 :用于构造函数之间进行互相调用。

this语句只能定义在构造函数的第一行。因为初始化要先执行。

 

This语句在构造函数间的应用举例:

-

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值