笔记系列(一):JAVA中的对象和类。
Java中对象的定义:对象是有状态和行为。例如一条狗是一个对象,它的状态有:颜色,名字,品种;行为有:摇尾巴、吃、叫等。
Java中类的定义:是描述这一类对象的行为和状态属性(就把类当成一个模板,这样来理解。)
【是不是看上面的理论看的头有点晕啊?我们来码下代码清醒一下啊。】
Java中的类。
public class Dog{ //定义了“Dog”类。
String breed; //定义“种类”属性
int age; //在定义“年龄”属性。
String color; //在定义“颜色”属性。
void barking(){ //在定义行为"叫"
}
void wagTail(){ //在定义行为"摇尾巴"
}
void sleeping(){ //在定义行为"睡觉"
}
}
这里定义了Dog类。在类中定义了"种类" "年龄" "颜色"3种状态。和定义了barking(叫),wagTaill(摇尾巴),sleeping(睡觉)这3种方法。【包含了Dog(狗)的几种状况和行为】
我们在看一个代码,来进一步的理解理解啊。
public class Apple{
String color; //定义苹果的颜色。
String address; //定义苹果的产地。
String price; //定义苹果的单价。
String unit; //定义苹果的单位。
void todayMarketPrice(){ //定义方法"今日市场价格"
}
void todaySales(){ //定义方法"今日销量"
}
}
我们在这里定义了Apple类。在类中定义了color(颜色),address(产地),price(单价), unit(单位)的属性。并在定义了todayMarketPrice(今日市场价格)todaySales(今日销量)的这2个方法。
了解类的对象的话,我们在来看看构造方法的定义的使用吧。
构造方法:每个类都有构造方法。如果没有显式地为类定义构造方法;Java编译器会为该类提供一个默认构造方法。在创建一个对象的时候,至少要调用一个构造方法,构造方法的名称必须与类同名,一个类可以有多个构造方法。
下面在码个代码来清醒清醒吧。
Public class Puppy{
public Puppy(String name){ //这个构造方法仅有一个参数name,且没有返回值。(构造方法必须与类同名,一个类最少要有1个构造方法)
}
}
创建对象。这个理论就比较多了。我们先来码代码吧,亲。
public class Puppy{
public Puppy(String name){ //该构造方法参数为name。
System.out.println("它的名字是:"+name);
}
public static void main(String[] args){
Puppy myPuppy = new Puppy("tommy");
//初始化对象,并创建实例对象myPuppy
}
}
代码运行结果如下:
![图片描述][1]
对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。
创建对象需要以下三步:
1:声明一个对象,包括对象名称和对象类型。
2:实例化,使用关键字new来创建一个对象。
3:初始化,使用new创建对象时,会调用构造方法初始化对象。
关于这块内容在内存中还有更深的解释。我下一篇文章会讲到的啊,这里笔者先卖个关子。
代码运行流程:在Puppy类中创建一个构造方法Puppy,但这个构造器仅有一个参数name.程序运行时首先执行main()函数的代码。初始化Puppy对象,(使用new创建这个对象时,调用构造方法Puppy()并初始化。参数name的值为“tommy”,在执行System.out.println.....)并创建实例化对象myPuppy。
接下来我们来说一说“访问实例对象和方法”。先来一波纯概念,前方高能。
访问实例对象和方法:
实例化对象 objectReference=new Constrctor();
访问类中的变量 objectReference.variableName;
访问类中的方法 objectReference.MeteodName();
上面的纯理论看的头晕了么。在码段代码来清醒一下吧。。。
public class Puppy{
int puppyAge; //定义小狗的年龄。
public Puppy(String name){ //构造方法。该构造器里参数为name.
System.out.println("小狗的名字是:"+name);
}
public void setAge( int age){ //定义setAge方法(设置年龄)
puppyAge = age;
}
public int getAge(){ //定义getAge方法(获得年龄)
System.out.println("小狗的年龄为:"+puppyAge );
return puppyAge;
}
public static void main(String[] args){
Puppy myPuppy=new Puppy("tommy"); //创建对象.
myPuppy.setAge(2);
//访问类中的setAge()方法,并更改puppyAge的值.
myPuppy.getAge();
//访问类中的getAge()方法,执行方法中的内容.
System.out.println("变量值:"+myPuppy.puppyAge);
}
}
程序运行结果如下:
![图片描述][2]
代码运行过程:程序运行时,首先执行main()函数。先执行Puppy myPuppy=new Puppy("tommy");创建一个puppy对象,调用puppy构造方法初始化对象,参数name为tommy.在执行方法中的system.out.println...语句,并建立了实例对象mypuppy。
在执行mypuppy.setAge(2);代码。调用类中的setAge方法,setAge方法中的age参数改变为2
在执行mypuppy.getAge();代码【调用类中的getAge方法,执行getAge方法】
在执行System.....语句【输出变量的值。】
OK,这次咱就讲这么多了吧。笔者也要回去继续码代码,学习深造去了。创造更高质量的新文章。
最后感谢老铁们把宝贵的时间浪费在我的文章上。老铁们完全可以利用这个时间开一局或者去追剧。但把时间放在我们文章上,哀心的感谢各位老铁们。笔者一定要写出更好,更有质量的文章来报答各位老铁们啊。。
热门评论
值得鼓励。写点文章自己总结思考,然后再写写代码,挺好
Puppy myPuppy = new Puppy("tommy");
这句的意思是啥?创建一个名为myPuppy的对象然后name=Tommy是吗?
创建对象那里System.out.println那句输出的是Puppy的值还是新对象myPuppy的值啊?