JAVA基础篇DAY7

面向对象


之前的输入操作Scanner和随机数操作Random 都new了一个对象input1和ran供后续使用。这个应该就是面向对象了。


java中类的使用:

 


自己定义的类的属性写在方法外面,自己定义的类中方法(函数)没有static。


上面是一个自定义类的实例,由此看出Scanner和Random相当于是两个Java本来就有的类。


自定义类之后创建类的对象进行使用:
1.创建对象的格式:
类名  自己定义的对象名 = new 类名();
2.使用对象的成员变量:
对象名.成员变量;   //不仅可以访问,还能进行修改 
3.使用对象成员方法的格式
对象名.成员方法();

定义不同的对象计算机会给分配不同的内存空间,也许初始属性都相同,但是不同对象经过不同操作之后就有各自不同的属性了。

 成员变量和局部变量:(作用域的范围在自己所属的大括号中)

 成员变量和局部变量重名的时候,JAVA采用就近原则。

this关键字:可以区分局部变量和成员变量的重名问题,如果方法和类中的属性出现重名,可以使用this来对类的变量属性和方法进行访问。

示例:


可以发现this和定义的对象是同一个地址,也就是说,定义一个新对象,就会生成一个新对象专属的this关键字。

 


相当于python类当中的init初始化,在创建对象的时候该方法会自动执行一次。

下面是一个实例:

输出:

在创建use1对象时构造方法camera被自动执行。


构造方法数据初始化实例:


 


private :只能在同一个类中使用

default : 同一个类中,同一个包中

protected : 同一个类中,同一个包中,不同包的子类

public : 任意位置访问


上面这个例子中,name只能由类camera中的成员函数调用,方法print1也只能被类中的其他方法调用,所以在main方法(也就是类camera之外)中不能使用private的name属性和private的print1方法。这就是private的意义!


JavaBean标准当中要求成员变量都要私有,并且对外提供getXXX , setXXX 方法


上面是一个标准实例,快捷生成方式,右键-生成-构造函数/Getter/Setter

 

 还有希望吗???

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值