很多java初学者在学习面向对象的时候总会一头雾水,其实结合现实生活最容易理解了,毕竟艺术源于生活,编程也来源于生活。java类与对象学习总结:
类与对象是java中最基本的概念,这就好比是盖一座摩天大楼,我们学会这些基本概念并且理解透彻,才能打下坚实的基础,伴随着努力和创意我们能将java发挥到极致,能将java应用这一座“摩天大楼”盖得与众不同。
首先我们明确一个概念,什么是类?什么是对象?
类是对象的抽象,对象是类的具体。(这句话很深奥,会不会让你想到武林高手说的一些话)用通俗易懂的话说,类是模糊的,抽象的,不占用内存的,代表着一类的事物。人类是一个类,禽类是一个类,并没有明确指谁,只是因为特征和行为相近,所以归为一类,但它并不占用世界这个“内存”,亦即它并不真实存在。而对象是明确的,具体的,真实存在的。例如天上的月亮,例如我正在写博客的这台电脑,这些所有真实存在占用宇宙内存的东西都是对象。
通过我上一段的阐述,我们能看得出来,是以什么来划分类?
在日常生活中,我们以特征和行为来划分类。而类在java中又是以什么来划分的呢?
对应于特征和行为,是属性和方法。在程序中我们用属性来描述一个对象的特征,用方法来描述一个对象的行为。由此我们可以知道,所有的属性和方法要赋给对象才有意义。
综上所述,我们有类,就必须要创建对象,要不这个类就没有用,有了对象之后,才有类中的属性,才能类中的调用方法。(抽象类除外)那现在的问题就是,如何在程序中创建对象,如何在这个对象创建之后调用方法?在此我们用一个小程序来进行说明。场景是“李四每看一小时电视剧,学分就减少一分”。当然啦,每看一小时java视频教程,学分就增加一分。
首先我们要新建两个类,一个是李四属于的Student类,另一个是电视剧属于的TV类。而学分是李四的属性,时长是电视剧的属性。
//创建一个学生类
public class Student{
//定义学生类的属性
private String name;
private int score;
//定义设置和获取姓名的方法
public void setName(String n){
name=n;
}
public String getName(){
return name;
}
//定义设置和获取学分的方法
public void setScore(int s){
score=s;
}
public int getScore(){
return score;
}
//定义一个看电视的方法
public void watch(TV tv){
setScore(getScore()-1);
if(tv.getTime()<=0)
System.out.println(name+"看了"+tv.getName()+"电视剧,减少到"+score+"个学分。");
}
}
//新建一个TV类
public class TV {
//定义TV类的属性值
private String name;
private int time;
//定义一个设置和获取电视名字的方法
public void setName(String n){
name=n;
}
public String getName(){
return name;
}
//定义一个设置和获取电视时长的方法
public void setTime(int t){
time=t;
}
public int getTime(){
return time;
}
}
现在有了类,我们要来创建一个李四和电视剧这两个对象,来完成我们想做的事。创建对象又叫做实例化。创建对象有两个方法,一个是构造方法,一个是普通方法。构造方法的格式为:
public 类名(数据类型 形参名,…){
}
//定义方法
public 返回值类型 方法名(数据类型 形参名,…){
}
调用方法的格式为对象名.方法名
如下文中用new创建对象也属于构造方法,要注意构造方法名必须也类名完全一致,还有不能有返回值类型
//先新建一个类Manager
public class Manager{
public static void main(String [] args){
//创建TV对象tv,调用TV类中方法
TV tv=new TV();
tv.setName("abc");
tv.setTime(15);
//创建Student类对象stu,调用Student类中的方法
Student stu=new Student();
stu.setName("李四");
stu.setScore(20);
System.out.println(stu.getName()+"总共有"+stu.getScore()+"个学分。");
while(tv.getTime()>0 ){
tv.setTime(tv.getTime()-1);
stu.watch(tv);
}
}
}
由上我们可知创建对象和调用方法的方式。
方法重载。方法重载是定义在同一个类中,同一个方法实现不同的操作。写的时候,必须要遵守两个条件:1.方法的名字必须要完全一致,包括大小写。2.方法所带的参数个数,参数类型,参数顺序必须要有一个不同.
生活中例如这样一个场景:我去买东西,今天买了衣服,明天买了水果,后天买了家具。同样是买这个方法,参数不同。而如何调用这个方法,就根据参数来决定。
转载于:https://blog.51cto.com/coder5/1589411
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109628.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...