首先我们来简单的阐述面向对象的思想。
面向对象:
官方的语言很抽象,我们把官方的解释和定义抛开。想想,自己有什么,对!!我们自己有手脚眼口鼻等一系列的器官。来把自己所具有的器官就可以看作我们的属性,自己是不是可以喜怒哀乐和嬉笑怒骂,这些是不是我们的行为,那么自己的具有的属性加自己有的行为就称为一个对象。
注意!!我们自己,一个个体是一个对象,因为,你是你,我是我,我们虽然有相同的,但是我们不一样,比如你比我高,我比你头发长。
接下来在进一步。我和你都是人,因为我和你有相似的东西,所以我和你都属于人类。人类,就是人的总称,也是相似对象的一种抽象。
从上面看:我和你只是人类的两个特列,但是外星人也可以用人类来称呼我们,看的出来:类的具体表现或者实例就是对象,而对象的抽象或者总概括就是类。
小编说的这么简单,没有用例子说话怎么行,下面我们进入用Java代码来反应情况。
下面我们来写出一个人的类,注意:对象是由类而来,类先有,对象后有,是类实例化才有。
public class Person {
String name;
int age;
String gender;
public Person() {
}
Person(String name,int age,String gender){
this.name = name;
this.age = age;
this.gender = gender;
System.out.println(this.name+“对象被创建了”+",有"+this.age+“岁”+",是"+this.gender+“的”);
}
}
那么我们就来创建一个类
public static void main(String[] args) {
Person p1 = new Person("张三", 18, "男");
Person p2 = new Person("李四", 19, "女");
}
下面的运行结果就是:
张三对象被创建了,有18岁,是男的
李四对象被创建了,有19岁,是女的
以上就是对面向对象的理解。
类:
上面小编已经说到类是属性加行为,上面的代码就已经说明了属性了
为了更好的说明行为,我们就加入Java中类的行为————方法
package objectandclass;
import java.awt.SecondaryLoop;
public class Person {
String name;
int age;
String gender;
public Person() {
}
Person(String name,int age,String gender){
this.name = name;
this.age = age;
this.gender = gender;
System.out.println(this.name+"对象被创建了"+",有"+this.age+"岁"+",是"+this.gender+"的");
}
public void say(){
System.out.println("我说我叫"+this.name+",别以为我不会说话,我会说很多话。");
}
}
类有了方法之后,对象也能调用这个方法,我们称,此时对象具有了类的一些行为体现。
public static void main(String[] args) {
Person p1 = new Person(“张三”, 18, “男”);
p1.say();
Person p2 = new Person(“李四”, 19, “女”);
p2.say();
}
显而易见:运行的结果肯定为:
张三对象被创建了,有18岁,是男的
我说我叫张三,别以为我不会说话,我会说很多话。
李四对象被创建了,有19岁,是女的
我说我叫李四,别以为我不会说话,我会说很多话。
下面我们说一说关于类的一些特征 :
类,他有自己的东西,也有给对象的东西。类的东西就是类的成员
类的成员一般有初始化块,构造器,属性,方法,内部类,枚举类。
如果是属于类的东西(直接可以用类名.成员调用。)则用static调用。
其实类的东西对象都能用,无论是不是静态的,但是不用static修饰 的,
就是对象的东西,只能由实例化的对象来调用。
关于对象就不用说了,大家记两点就行,要创建对象,必须调用构造器。
初始化块可以看作是特殊的构造器,无参数传入,创建对象时,反正会被调用。
作者:DayFight_DayUp
来源:CSDN
原文:https://blog.csdn.net/a907691592/article/details/51603866
版权声明:本文为博主原创文章,转载请附上博文链接!