微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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到多个参数。多个参数用逗号分隔。

传参:

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

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

实参:传入的数据。

形参:定义的参数。

属性和参数的区别:

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

原文地址:https://www.jb51.cc/wenti/3288224.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐