Java入门Week2

本篇博客沿上次内容将讲到面向对象的基础知识,以下为本周学习java的笔记;

自己设计对象并且使用的方法:
在package中新建class;
语法:类名 a=new 类名;
a为定义的一个对象;


访问该对象的属性:
语法:a.属性名;


调用对象方法的语法:
a.方法名();


注意:

1.一个类可以有多个对象。
2.设计类的时候类名最好大写,有区分性;
3.一个java文件(新建的class)中可以有多个类,但是只能有一个是被Public
修饰的,该类还是文件名;
 4.实际开发中还是建议一个代码文件只定义一个类;
想定义多个类在package中新建;
5.成员变量的完整定义格式是:修饰符 数据类型 变量名称;
(不需要初始化,存在默认值);
默认值规则:
byte short int long------0
double float-----0
boolean-----false
string等引用类型------null;


面向对象的内存运行机制:
先在方法区加载主函数 
然后把main方法提到栈中执行
触碰到第一个类后,有对象,该对象为局部变量;
因此把该对象加载到栈中(目前栈中没有东西);
然后因为new出了个东西,开辟一块新的堆内存
空间来代表汽车对象;
该堆内存空间中会有类的属性,如:name,price,
但都是默认值;
堆内存中不会有成员方法,只有成员方法的地址指向
方法区的方法;
因为该堆内存空间有地址,即对象的地址复制给栈中的变量来
指向堆内存中的对象;
所以,你定义的一个对象如果直接输出它那输出的将会是它的地址;
若此时将对象中的一个属性赋值
该值将会从栈中的地址访问到堆中的属性;
若调用对象中的方法
会通过栈中变量的地址找到堆中的对象,再从对象中
方法的引用地址直接访问方法区中的成员方法;

图例所示: 

 

如果两个变量指向同一个对象,那么更改其中一个变量的属性,另一个变量中的属性也会改变,如图例所示:

 

构造器:
(类似c++中的构造函数)

 

this关键字:

 


封装:
简单来说就是,对成员变量使用private来修饰。
并且为每个成员变量提供配套的get、set方法来暴露其取值和赋值;

标准JavaBean:
可以成为实体类,其对象可以在程序中封装数据;
书写要求:
成员变量用private修饰;
提供对应的set和get方法;
必须提供一个无参构造器(默认就有),有参构造器可写可不写;
如果写了有参构造器,无参构造器必须得再写一个;


在idea中,快捷写出getter和setter的方法:
光标处右键,然后点Generate,点开有点geteer和setter,选中成员变量,
按ok就可以生成了;
快捷写出有参构造器:
同样在Generate中,点开Constructor,选中成员;
快捷写出无参构造器:
同样在Generate中,点开Constructor,点击Select None;


关于成员变量和局部变量的区别这一小知识点:

 补充一点:成员变量的作用范围不受限,谁和这个类有关谁就能用;

                   而局部变量的作用范围只在花括号{}中;


以上便为本周学习java所写出的博客,图片引用的是黑马程序员的网课截图。因为本周比较忙,所以只学到了继承,下次博客会讲完java中面向对象的继承以及多态等知识点。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值