一篇关于Java入门类的易懂技术文章

关于java中类和对象的技术文章

初识Java,可以说最先了解到的是Java是一门完全面向对象的编程语言,当然,看到这句话也是一脸懵逼,不是很理解,但是莫慌,只需要接触刚开始两个小代码就能够深刻体会奥秘。

1, 现实生活的对象与类

首先我们先要知道什么叫做对象,桌子,电脑,书?那就大错特错了,这样回答是将对象和类混淆,桌子,可以是方桌,圆桌,再细致一点,可以是这个方桌,那个圆桌,那么你指代是哪个呢,所以我们必须加上定语,比如我新买的鼠标,我穿着的T恤,

那么对象肯定有他的特性,比如说一个电脑,他有他的特征,他有他的功能,他的形状,颜色,品牌,所有者,显卡,CPU,他的功能,打字,显示,播放,运行,开机,,再比如说一个人,他的特征是身高,体重,性别,肤色,他的行为是走路,吃饭,睡觉等等等等……

那么生活中的类又是怎样定义的呢,可以说,只要是具有相似特征和行为的对象就可以集合成为一类,比如说桌子上绿色的水杯,蓝色的水杯,紫色的水杯,可以统一成水杯类,生活中的类当然是抽象的。

2, Java中的类和对象

那么在一个Java程序中,我们还是按照这个原则,来写代码,程序中的类由两个部分组成,1:属性2:方法,就是说,所有在这个类的或者是继承这个类的对象,都会具有我们在类中定义的属性和方法,属性是根据对象的特征进行定义的,方法是根据对象的功能(行为/用途)进行定义的。比如我们写一个两个英雄pk的程序,直到一方死亡,那么对象就是两个英雄,每个对象自成一类,因为我们要对他们分别注入属性,然后最后一个主程序控制比赛进行,

3, 类的基本格式以及实例化方法

public class 类名 {


//定义属性

扫描二维码关注公众号,回复: 6064039 查看本文章

public 数据类型 属性名;


//定义方法

public 返回值类型 方法名(数据类型 参数名,...){

}


}

注意:类是基本单位也是模板,所以你不能使用类名来调用属性和方法,如果要使用必须要实例化对象,然后通过对象名来调用属性和方法。


我们光定义了类还不行,我们还要把类的属性方法实例化,也就是说要让类富有灵性,

我们引进一个关键字:new。

格式如下:

类名 对象名 = new 类名();

调用对象的属性和方法格式:

对象名.属性名

对象名.方法名(参数值,,,);


注意:Java中类名、属性名、方法名、参数名、对象名、常量名的命令规则是:第一字只能是下划线和字母,之后的字可以是下划线、字母和数字。



4, 实战

场景:张三在学习Java课程中,学完该课程后,张三的学分要增加3分。

1.找出场景中的对象以及对象的特征和行为(功能/用途):

张三

特征:学分、姓名

行为:学习(java课程)

Java课程

特征:学分、名字、课时

2.根据对象的特征以及行为,按照类的固定格式进行类的抽象定义:

有2个对象,那么需要定义2个类

张三抽象定义Student学生类

Java课程抽象定义为Subject课程类

3.实例化Student和Subject课程类的对象,然后用对象名去调用属性和方法的格式:

Manager类的主函数中实例化对象调用属性和方法。

下面给出代码:

① ://定义Student学生类

public class Student {


public String name;//姓名属性


public int score;//学分属性



//定义学习课程的方法

public void study(Subject sub){

//减少课程的课时

sub.time--;

System.out.println(name+"正在学习"+sub.name+"课程,剩余的课时是"+sub.time);//输出信息的输出函数

if(sub.time<=0) {

score += sub.score;//让学生的学分加上课程的学分。

System.out.println(name+"已经学完了"+sub.name+"课程,"+name+"现在的学分是:"+score);

}



}

② //定义Subject课程类

public class Subject {


public int score;//学分属性


public String name;//名字属性


public int time;//课时属性


}

③//定义Manager类

public class Manager {


//定义程序的入口主函数

public static void main(String [] args){


//实例化Student学生类的对象

Student stu = new Student();

//设置对象的属性值

stu.name = "张三";

stu.score = 10;


//实例化Subject课程类的对象

Subject sub = new Subject();

//设置对象的属性值

sub.time = 10;

sub.score = 3;

sub.name = "Java";


while(sub.time>0){

//让学生学习课程

stu.study(sub);

}


}


}


哈哈,捋清思路,说白了就是,在类中定义方法,实例化对象,然后将对象带入主函数,完成相应的目的,就是这么easy

想一想最近非常流行的王者荣耀,两个英雄在打斗的时候,也可以理解为,先定义人物类,然后在实例化对象中,对他们分别注入各自的攻击,技能,防御属性,然后最后一个manager函数调用两个对象在实战中的过程,就ok了。


此上内容纯属个人见解,如有雷同纯属巧合,萌新一枚,多多关注哦,么么哒

猜你喜欢

转载自blog.csdn.net/hzw9806/article/details/78634085
今日推荐