Java学习笔记——关于java中类中乱七八糟的概念的梳理

在Java学习中,第一只拦路虎就是类,总是学了又忘。真是蛋疼菊紧。写一篇日志专门捋一下这里面的乱七八糟。

首先,就是类这个概念,类在一本书立的解释很搞笑,叫“对象的模板”哈哈,当时就觉得这个比喻有够经典~对它的定义语法乱七八糟的就不细说了,书本上都有。

下面撸一串代码来对这串代码进行分析,代码如下

package Lei;
public(修饰符) class shuibei(类名,通常首字母为大写字母){
   String col;
   int  vol;             //定义类属性,也叫域变量,反映了类的对象的特征描述
   public void setCOL(String col1){
	   col=col1;
   }
   public void setVOL(int vol1){
	   vol=vol1;
   }
public String getCOL(){
	return col;
}
public int getVOL(){
	return vol;
}
public String toString(){
	return"杯盖颜色"+col+"容量为"+vol;
}                                                   //set,get都是类的<strong>方法</strong>,表现为对类对象实施某个操作,往往获取或更                                                      改类对象的属性值
   public static void main(String[] args) {
	shuibei b1=new shuibei();                    //创建类的对象,并将创建的对象赋予某个引用变量,这里的<strong>引用变量</strong>                                                       为b1,b2
	shuibei b2=new shuibei();
	b1.setCOL("是蓝色的,");
	b1.setVOL(500);
	b2.setCOL("是红色的,");
	b2.setVOL(1000);
	System.out.println("水杯1的颜色"+b1.getCOL()+"容积"+b1.getVOL()+"ML");
	System.out.println("水杯2的颜色"+b2.getCOL()+"容积"+b2.getVOL()+"ML");
}
}

习惯上类的定义形式

package xxx;

import xxx;

public class Xxxx{

    //属性...

    //构造器...

    //方法...

}

1、一个乱入:在手机某APP上定义属性为:实例变量(应该还要包括类变量,两者的区别是类变量需要static修饰,而且类变量是存储在类空间里的,通过对象访问静态空间实质还是访问类空间内的那个变量,就是说值只有一个,会随着方法对它的改变而改变,为所有对象所共享。而实例变量的值取决于对象,它存储在对象空间里,为各个对象的私有)。而实例变量在《java语言程序设计》68页中,写着,对象也成为类的实例,相应地,对象的属性也叫实例变量,而对象的方法也叫实例方法。

关于这里的实例变量,也就是属性,定义在类中但在任何方法之外,其初值可以由系统自动设定为0。

作用域至少在本类内部,受访问控制符的限制。

在与局部变量冲突时,注意局部优先。

2、构造器,在另外本书中叫做构造方法,它是类中的一种特殊构造方法

创建对象的过程中调用的方法,它的名字必须与类名相同,而且没有返回类型,主要是对不同的对象的初始化。

3、方法

在上面的例子中定义了set和get方法。在main中调用类来构建对象,(就像用不同纸张来照着模板来生成各自的文章),对象b1和b2(b1和b2只是引用变量,作用是方便访问对象)在创建时,就分配了各自属性的存储内容空间,并进行初始化。

这里要分清属性成员的初始值为0,和引用类型的成员变量的默认值为null。

public class Point{
private int x=10;
...
}

每个Point对象的属性x的初值均按上述赋值设定为10;

public  class Point{
private int x;
...
{
x=20;
}
首先按属性定义的初始设置给属性赋值即x=0,再执行初始化代码重新赋值x=20。tips:构造方法是给对象设置初值的标准方式,区别在于,构造方法是根据方法参数给对象属性赋不同的初值,前面的方式是给所有对象的某属性设置同样的初值。(tip:例子Point p4=new Point(20,30);Point p3=new Point(10,20)就可以用构造方法来实现不同的赋值方式,不然只能赋予相同的值)

对对象的赋值后的空间变化

例子中,p1这个引用变量对应着空间里,存储了一个字符串信息和int信息,如果都不赋值的话,int对应的空间是0字符串对应的空间是什么?




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值