java笔记—初识面向对象01

这是我第一次在这个论坛中写博客,因为是初学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);
    }
}

如果没有构造函数的时候,系统会自动生成一个构造函数,但是只要定义了一个就会找这个构造函数。如果没有对应的构造函数(参数列表不同)就会出错,构造函数是在对象一建立的的时候就会运行。当分析事物时,当事物一始化就具备一些特征,这是可以使用构造函数。

你可能感兴趣的:(java)