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

传参:

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

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

实参:传入的数据。

形参:定义的参数。

属性和参数的区别:

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值