您的位置:首页 > 职场人生

黑马程序员_java 面向对象基础(1)

2013-06-12 11:43 573 查看
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流!

 ----------------------

1.什么是对象?

例如:人开门  那哪些是对象?  运用名次提炼法  人 门 都是对象

/*人
{
    开门(门)
    {
        门.开();
    }
}

{
    开(){操作门轴等。}
}
*/

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

2.类与对象的关系

    类:对现实生活中事物的的描述。

    对象:就是这类事物,就是现实存在的个体。

    映射到java中描述类就是class定义的类,对象就是对应java在对内存中用new创建的实体。

3.类的定义

    定义类就是在描述事物,就是定义事物的属性和行为,属性和行为共同称为类中的成员(成员变量和成员方法)

    属性就是对应类中的变量,行为就是对应类中的函数(方法)。

4.成员变量和局部变量

    作用范围:成员变量作用于整个类中;局部变量作用于函数或者语句中。

    在内存中的位置:成员变量在堆内存中;局部变量存在栈内存中。

class Car
{
  String color="
灰色";
  int
number =4;
  public
void
run()
  {
      System.out.println("  ");
  }
}
public
class
Demo {
  public
static void
main(String[] args) {
      Car car=new Car();//car
是一个类类型变量,它指向对象
      }
}
5.匿名对象
    匿名对象的使用方式一:当对象的方法只调用一次时,可以用匿名对象来完成,可以简化代码。
    匿名对象的使用方式二:可以将匿名对象作为实际参数进行传递。
class Car
{
    String color="
灰色";
    int
number =4;
    public
void
run()
    {
        System.out.println("  ");
    }
}
public
class
Demo {
    public
static void
main(String[] args) {
        new Car().run();//匿名对象调用run方法
    }
}
6.private关键字
private关键字是权限修饰符,也是封装的一中表现形式,用于修饰类中的成员;private修饰的成员只在本类中有效。
class Person
{
  private String
name;
  public
void
setName(String name)
  {
     
  }
  public String getName()
  {
      return
name;
  }
 
}
将name私有后类以外即使建立了对象也不能直接访问。但是外部还需要用到name,就需要在Person类中提供对应的访问name的方式。之所以对外提供访问方式,是因为可以在访问时加入逻辑判断语句,对访问的数据进行操作,提高代码的健壮性。
7.构造函数
    构造函数可以用于给对象初始化。
class Person
{
    Person()//构造函数
    {
      
    }
}
    构造函数的细节:
       当一个类中没有定义构造函数时,系统会默认给该类加上一个空参数的构造函数。
       当类中定义了构造函数后,默认的构造函数就没有了。
 
       构造函数与一般函数的不同:
           写法上不同:构造函数名必须与类名相同;而一般函数名可以任意。
运行上不同:构造函数在对象已建立就运行,给对象初始化。而一般函数只有再调用时才会运行,是给对象添加具备的功能
           运行次数;一个对象建立,构造函数只运行一次;而一般方法可以被该对象多次调用。
    什么时候定义构造函数?
        分析事物时,当该事物该事物具备了一些特性或行为,那么将这些内容定义在构造函数中。
8.构造代码块
    格式:

    构造代码块内容

构造代码块中定义的是不同对象共性的初始化内容;构造代码块也是给对象初始化,对象一建立就运行并且优先于构造函数执行。
    构造代码块与构造函数的区别:构造代码块是给所有的对象初始化;构造函数是给对应的对象初始化。
9.this关键字
    this看上去是用于区分局部变量和成员变量同名的情况。
    this代表的是它所在函数所属对象的引用(那个对象在调用this所在函数,this就代表哪个对象)。
this的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这是用this来表示这个对象;但凡本类功能内部使用了本类对象,都用this表示。
this语句:用于构造函数之间相互进行互相调用。
class Person
{
    private String
name;
    private
static int
age;
    Person(Stringname)
    {
       this(age);
       this.name=name;
    }
    Person(int age)
    {
       this.age=age;
    }
}
    注意:应为初始化要先执行所以,this语句只能定义在构造函数的第一行。

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: