您的位置:首页 > 编程语言 > Java开发

java笔记—初识面向对象01

2015-09-05 21:42 375 查看
这是我第一次在这个论坛中写博客,因为是初学java,有很多是概念还是不清楚,只是现在照着自己的理解写了一些东西。有错误,请大家谅解与指正。在这里,非常感谢毕向东老师的透彻讲解,您的幽默与细致让我们初学者受益匪浅。

面向对象:

面向对象与面向过程都是一种思想

面向对象是不需要知道过程,只需要知道结果。

万物皆对象。

面向对象:

三个特征:封装,继承,多态;

开发java:其实就是找对象使用,没有对象,创建一个对象。

找对象,建立对象,维护对象的关系。

类与对象的关系:

类就是对现实事物的抽象。

对象就是这类事物中实实在在存在的个体。

举一个例子:

类就是汽车图纸

汽车就是堆内存中的对象。

Car c  = new Car(); //c是一个类类型变量,类类型变量指向对象


注意:Car c1 = c; //这里并没有在堆中重新开辟一个空间,而是在栈中开辟一个地址,也指向堆中c的对象。

/*这是看视频时想到的,与主题无关

局部变量存储在栈中,且必须进行赋值。

函数在使用时,(如果实参是地址)将实参传给形参的时候,实际上是将实参的地址传给形参的地址,

这样就会利用地址值来改变在堆实体中的数据。

函数在传参的时候是将地址值传给形参,并没有在堆中又建立一个实体。

函数的实参与形参只要是同一中类型就可以。

软件工程师大部分的时间是在思考。

*/

1 封装:

private:只是封装的一种表现形式。使被它修饰的属性或者是方法只能在这个类中使用(获取或者是修改)

在一个类中,一个属性通常会有两种方法,一个设置(set)它的值,另一个是获取(get)它的值。而且这种属性会被private修饰。这种好处是在这个类中就可以对这个值进行变化,提供给用户一个纠错的机会。(在一个类中,属性的值的作用域是整个类)

2 构造函数:对对象进行初始化。构造函数可以重载,也是用于定义一个对象是初始化使用。

class Person
{
private int age;
private String name;

Person()
{
System.out.println("A:name = "+name+",,age = "+age);
}
Person(int a)
{
age = a;
System.out.println("B:name = "+name+",, age = "+age);
}

Person(String n, int a)
{
name = n;
age  = a;
System.out.println("C:name = "+name+",,age = "+age);
}
}


如果没有构造函数的时候,系统会自动生成一个构造函数,但是只要定义了一个就会找这个构造函数。如果没有对应的构造函数(参数列表不同)就会出错,构造函数是在对象一建立的的时候就会运行。当分析事物时,当事物一始化就具备一些特征,这是可以使用构造函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: