java面向对象编程理解+变量+方法参数

OOP为面向对象编程的英文缩写

oop是一种思想,这种思想指导我们如何写java代码

面向对象和面向过程的区别:

面向过程:强调的是解决问题的步骤(如C语言),直接写函数即可,直接调用函数:函数名(..)。

面向对象:强调使用对象解决问题,对象是属性方法的综合体,使用对象名.属性名和对象名.方法名(..)。

理解:

类是对象的模板。在方法区中存储。

对象中包括属性方法,对象和数组都是在栈内存中开辟空间,储存首地址,在堆内存中开辟空间储存相应的数据,二者的区别在于结构不同,对象在堆内存中的存储的是其中的方法属性而数组储存的是元素。

面向对象编程可理解为:

根据问题,进行分析。

通过分析,定义模板(把问题抽象成类)。

根据模板(类),创建对象。

通过对象,解决问题。

实例:

问题:

老于是一个胖子,体重200公斤。为了女朋友决定减肥,通过不懈的努力,体重将为100公斤。

分析,抽象成类:

人类{

属性:姓名,体重

方法:减肥(体重由200变成100)

}

通过类,创建对象:

类名 对象名=new 类名();

通过对象,解决问题:

对象名.属性名 保存数据

对象名.方法名(..) 解决问题的过程

代码

首先把问题抽象成类:

public class person {
    public String name;
    public  double weight;

    public  void loseWeight() {
        System.out.println(name+"初始体重" + weight);
        System.out.println(name+"为了女朋友,开始减肥。。。。。");
        weight = 100;
        System.out.println(name+"现在的体重" + weight);
    }
}

以类为模板创建对象并给对象属性赋值,解决问题:

public class text {
    public static void main(String[] args) {
        //创建对象
        person p1 = new person();
        person p2 = new person();
        //给对象属性赋值
        p1.name = "老一";
        p1.weight = 160;
        p2.name = "老二";
        p2.weight = 200;
        //调用对象方法
        p1.loseWeight();
        p2.loseWeight();
    }
}

变量:

在java中变量分为局部变量和成员变量;

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

①声明位置:

局部变量:声明在方法体内;

成员变量:声明在类中,方法体外;

②作用域:

局部变量:只能作用于声明它的方法体内,其他地方无法访问;

成员变量:可以作用于当前类型的所有方法体内。

③缺省值:

局部变量:没有缺省值;

成员变量:有缺省值。

byte、short、int、long类型为0,float、double类型为0.0,char类型为空白字符,boolean类型为false,引用类型为null。

null的含义:null是一种引用类型的数据,表示没有对象的地址!

④修饰符:

局部变量:只能用final修饰。(final能将变量变为常量)

成员变量:可以用任何修饰符修饰(public protected private static final 等等)

⑤重名问题:

局部变量(或参数)之间如果作用域有交集,不能重名;

成员变量之间如果作用域有交集,不能重名;

成员变量和局部变量(或参数)可以重名,局部变量的值会覆盖成员变量的值,想在重名的情况下又要用成员变量给的值,那就要在变量名前加"this."。

方法的参数:

作用:

可以根据用户的需要,在每次调用方法时,都可以向方法体内传入变化的数据。

参数定义:

一个方法可以定义0到多个参数。多个参数用逗号分隔。

传参:

方法调用时,在小括号中给对应的参数赋值,不能使用符号。

调用方法时,方法有几个参数就必须传几个参数,且类型和顺序必须一致。

实参:传入的数据。

形参:定义的参数。

属性和参数的区别:

参数:方法体内的数据,方法调用时存在,执行完毕销毁。是临时的局部变量。

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...
win11本地账户怎么改名?win11很多操作都变了样,用户如果想要...