day_7/18(初识面向对象)

目录

什么是面向对象?

1、类和对象

        1.1、什么是类?什么是对象?

        1.2、对象的创建方式?

        1.3、对象的使用

2、成员变量和局部变量

        2.1、什么是成员变量?

        2.2、什么是局部变量?

        2.3、成员变量和局部变量有什么区别?

        1、类中的位置不同

        2、内存中位置不同

        3、生命周期不同

        4、初始化值不同

3、作用域修饰符

        3.1、作用修饰符有哪些?

        3.2、作用范围分别为?

4、this关键字

        4.1、this关键字是什么?

5、构造方法

        5.1、构造方法是什么?

        5.2、构造方法有哪些特点?


什么是面向对象?

        首先一点,面向对象不是一种技术,它是指导我们编程的一种思想,这种思想的核心就是“拿来主义”(当我们需要解决某一项问题时,我们需要去思考解决这个(类)问题的工具,我们要去找这个工具)也就是去找能解决某一需求的类,当然了,现在处于学习阶段,我们都要自己去创造这个工具,创建我们需要的类。

1、类和对象

        1.1、什么是类?什么是对象?

        类是java编程中的基本单元;把具有相同行为和属性的事物归为一类;对象就是类的具体实现。举个例子,蛋糕师现在要做一个小熊饼干,类就是制造这个小熊饼干的模具,对象就是制造出来的小熊饼干。

        1.2、对象的创建方式?

        语法: 数据类型    对象名    =    new    构造方法。

        1.3、对象的使用

        我们在类里面定义了多个变量和多个方法,这些变量和方法怎么使用呢?就是通过对象来调用的,类写好后定义一个实例对象来使用。

2、成员变量和局部变量

        2.1、什么是成员变量?

        成员变量:成员变量也就是全局变量它还以叫做属性。

        2.2、什么是局部变量?

        局部变量:局部变量就是定义在方法体中的变量。

        2.3、成员变量和局部变量有什么区别?

        1、类中的位置不同

                成员变量在类中方法外定义,局部变量在方法内或者方法声明上(形参)定义。

        2、内存中位置不同

                成员变量处于堆内存,局部变量处于栈内存。

        3、生命周期不同

                成员变量随着对象的存在而存在,随着对象的消失而消失,局部变量随着方法的调用而存在,随着方法的调用完毕而消失,这里需要注意一点,局部变量有时候在循环的初始化语句中和循环体里面定义,这里的局部变量就随着循环开始而存在,循环结束而消失。

        4、初始化值不同

                成员变量未手动赋初值可以进行运算,因为系统会给成员变量赋相应的数据类型的默认初值,而局部变量必须赋初值后才可参与运算。

3、作用域修饰符

        3.1、作用修饰符有哪些?

                public、protected、Default(friendly)、private;

        3.2、作用范围分别为?

                首先把作用范围分为同一个包内和不同的包内,在同一个包内时,public修饰的方法可以被当前类、子孙类、外部类调用,protected修饰的方法可以被当前类、子孙类、外部类调用,private修饰的方法只能被当前类调用;不在同一个包时,public修饰的方法同样可以被当前类、子孙类、外部类调用,protected修饰的方法就只能被当前类和子孙类调用了,外部类就调用不了了,private修饰的方法没区别,照样是只能被当前类调用。

4、this关键字

        4.1、this关键字是什么?

                this:代表所在类的对象引用;方法被哪个对象调用,this就代表哪个对象。这里可能不太太好理解,看一个简单的例子:

public class Test {
    int age=15;
    public void add(int x){
        int age = 18;
        System.out.println("小明长大了"+x+"岁,现在"+(age+x)+"岁了");
    }
}

这里的(age+x)使用的是哪个age呢,是全局变量的那个age还是局部变量的那个age呢,创建一个对象给它运行一下啊,传入1,输出结果为19,很显然这里使用了局部变量的age,那我要如何使用全局变量里面的那个age呢?这时候this的作用就体现出来的了

public class Test {
    int age=15;
    public void add(int x){
        int age = 18;
        System.out.println("小明长大了"+x+"岁,现在"+(this.age+x)+"岁了");
    }
}

这上面这段代码相比于前面那段代码就是多了一个this,这时再运行,结果就是16了。

5、构造方法

        5.1、构造方法是什么?

                构造器也叫构造方法,用于对象的初始化。构造器是一个创建时被自动调用的特殊方法,目的时对象的初始化。构造器的名称应与类一致。Java通过new关键字来调用构造器,从而返回该类的实例,是一种特殊方法。

        5.2、构造方法有哪些特点?

                构造器通过 new 关键字调用;

                构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用 return 返回某个值;

                如果我们没有定义构造器,则编译器会自动定义一个无参的构造方法。如果已定义 则编译器不会自动添加;

                构造器的方法名必须和类名一致。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值