今天小编来聊聊类与对象有些什么区别,又有些什么联系!
目
录
一.类
1.
什么是类
类是 一组相似事物的统称 ,属于概念模型,具有相同属性和行为的多个事物.类是我们人类大脑进行思考总结 抽象出来的一个结果 .本质上是现实世界中的某些事物具有共同特征,这些 共同特征提取出来形成的概念就是一个"类", 描类就是一个模板!述的是所有对象的"共同特征信息" 并且 类是Java中最小的单位!
类代表的是一类事物,如:人类,车类,花类......(从不同角度看,就会有不同的结果!)
布偶猫 折耳猫 豹猫
上面这几个动物,小编的第一印象就是从外貌方向把它们归为猫,其次小编还可以想到的就是从生殖方式把它们可以归为哺乳动物类,从生活方式把他们归为宠物类等等.相信友友们的思维更为发散,还可以想到很多其他的类.(记住一点哈,一个类里所描述的事物是的有相同点的)
2.
如何创建类
[ 修饰符列表 ] class 类名{
//类体里面有属性和方法(属性再代码上以"变量"的形式存在)
}
(这样就创建了一个类,作为一个小白,类的命名规范肯定得认真遵守的哈!!!凡事从基层做起!类的命名规范在小编的另一篇文章里有详细描述哦!---------> JAVA里常见的命名规范 )
3.
一个类里面有些什么
- 类中有两大元素:属性 (这里的属性也被称之为变量,在现实生活中指相似事物的共同特征) 和方法 (指现实生活中的某些行为).
可以这样理解,以上面小动物为例,咱把它们归为猫类.(也就可以创建一个Cat类:)
属性:
那么这些猫都有的共同属性有什么呢?
猫咪都可以有种类的,并且每个猫咪都有名字,年龄和颜色的!这就一下有了四个属性了(种类,名字,年龄,颜色)
方法:
在这个例子里,咱们可以理解为猫咪有哪些行为,猫咪可以做什么
猫咪可以睡觉,可以吃东西,还会抓老鼠,这样一下就有了三个方法了(睡觉,吃东西,抓老鼠)
4.
示例
以猫咪为例,咱们现学现用,来创建一个完整的类:
public class Cat { //类名 (可以依照这个模板创建很多的相对应的对象!)
String name; //属性1:名字
String kind; //属性2:种类
String color; //属性3:颜色
int age; //属性4:年龄
//定义方法:
public void sleep(){ //定义睡觉的方法
System.out.println("睡觉");
}
public void eat(){ //定义吃东西的方法
System.out.println("吃东西");
}
public void hold(){ //定义抓老鼠的方法
System.out.println("抓老鼠");
}
}
二.对象
1.
什么是对象
对象 是具体的,是实实在在存在的个体 ,代表的是一个事物,是 类里面的一个实例 ,因此对象还有一个名称叫做实例在Java语言中要想得到对象, 必须先定义类,对象是通过类这个模板创建出来的.
如上面的例子里对象就是布偶猫.(整个是猫类,猫类里面的具体的一个例子就是布偶猫)
2.
如何创建对象
java语言中是通过 new关键字来创建 的,格式: 类名 对象名 = new 类名();
new也是一个运算符哟!是专门负责对象的创建的!还想了解其他运算符的话 点击这里
如下面的代码里面的"Cat cat1=new Cat();",这就是创建了一个新的对象.
public class Test{ //定义了一个测试类
public static void main(String[] args) { //程序入口
Cat cat1=new Cat(); //创建第一个对象(cat1)
//第一只猫的特征
cat1.name="cc"; //调用类中的属性并且赋值
cat1.kind="布偶猫";
cat1.color="白棕色";
cat1.age=2;
//假设第一只猫在睡觉
//其他猫咪的定义跟上面的格式相同
// 输出一下猫咪的情况(属性赋值了需要输出语句,才会出现在控制台上哦!)
System.out.println(cat1);
System.out.println("猫咪名称:"+cat1.name);
System.out.println("猫咪品种:"+cat1.kind);
System.out.println("猫咪颜色:"+cat1.color);
System.out.println("猫咪年龄:"+cat1.age);
cat1.sleep(); //调用方法,方法中有输出语句的哈!就可以直接引用的!
}
)
创建匿名对象
除此之外,还可以这样创建对象: 格式:new 类名();
(这个时候没有给对象起名,没有给对象起名的对象叫做 匿名对象! 需要注意的是:匿名对象 只能调用一次属性或方法 !如果有多个属性和方法需要调用时!就需要给对象命名了! )
public class Test{ //定义了一个测试类
public static void main(String[] args) { //程序入口
new Cat(); //创建了一个匿名对象
System.out.println("猫咪品种:"+new Cat().kind); //调用属性
new Cat().sleep(); //调用方法,方法中有输出语句的哈!就可以直接引用的!
new Cat(); //再new一次的话,就又重新创建了一个匿名对象哦!
}
)
3.
如何调用类中的属性和方法
调用属性: 对象.属性
调用方法: 对象.方法 (小编的例子里都有的哦!!!)
4.
创建对象的内存图
5.
对象和引用的区别
- 对象是通过new出来的,在堆内存中存储!
- 引用:但凡是变量并且该变量中保存了内存地址中指向了堆内存当中的对象的成员变量的实例变量,就必须先创建对象,再通过"引用"来访问
三.类与对象的联系
通过上面的学习,对类和对象的了解有个大概了吧!!!所以也很容易的总结出来它们的联系!!!
类是创建对象的模板,而对象是类的实例!!
类里面一堆相似事物实例化后有的具体的对象!很多个具体的对象的相同的特征综合总结抽像出来的便是类!
最后递上小编的武功秘技!!接好了,友友们!!!!
(小编也在努力学习更多哟!以后会多多分享哒!)
希望对友友们有所帮助!!!!