相信各位在黑马学习面向对象中一定遇到一些不容易理解的,比如面向对象,我自己就很懵懂,也是各种百度资料,手机下载Java软件查询(附上我的软件,非常抱歉我用的是苹果,安卓我不知道是不是这个名字;软件是免费的ios版:java学习宝典)最后总结得到的,可能不太精确,毕竟我也是JavaEE基础班的,要是精通的话,我就不过来了学习了,哈哈,开句玩笑
简单的阐述下面向对象的思想:
面向对象:
官方的语言很抽象,我们把官方的解释和定义抛开。想想,自己有什么,我们自己有手脚眼口鼻等一系列的器官。来把自己所具有的器官就可以看作我们的属性
,自己是不是可以喜怒哀乐和嬉笑怒骂,这些是不是我们的行为,那么自己的具有的属性加自己有的行为就称为一个对象。
注意!!我们自己,一个个体是一个对象,因为,你是你,我是我,我们虽然有相同的,但是我们不一样,比如你比我高,我比你头发长。
接下来在进一步。我和你都是人,因为我和你有相似的东西,所以我和你都属于人类。人类,就是人的总称,也是相似对象的一种抽象。
从上面看:我和你只是人类的两个特列,但是外星人也可以用人类来称呼我们,看的出来:类的具体表现或者实例就是对象,而对象的抽象或者总概括就是类。
说的这么简单,没有用例子说话怎么行,下面进入用Java代码来反应情况。
下面写出一个人的类
注意:对象是由类而来,类先有,对象后有,是类实例化才有。
public class Person {
String name;
int age;
String gender;
//空参
public Person() {
}
//全参
public 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 itweeA = new Person("张三", 20, "男");
Person itweeB = new Person("李红", 18, "女");
}
下面的运行结果就是:
张三对象被创建了,有20岁,是男的 李红对象被创建了,有18岁,是女的
以上就是对面向对象的理解。
类:
已经说到类是属性加行为,上面的代码就已经说明了属性了
为了更好的说明行为,加入Java中类的行为————方法
package objectandclass;
import cn.itcast.demo01;
public class Person {
private String name;
pricate int age;
private 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 itwee = new Person("张三", 20 "男");
itwee.say();
Person itwee = new Person("李红", 18, "女");
itwee.say();
}
显而易见:运行的结果肯定为:
张三对象被创建了,有20岁,是男的 我说我叫张三,别以为我不会说话,我会说很多话。 李红对象被创建了,有18岁,是女的 我说我叫李红,别以为我不会说话,我会说很
多话。
下面我们说一说关于类的一些特征 :
类,他有自己的东西,也有给对象的东西。类的东西就是类的成员
类的成员一般有初始化块,构造器,属性,方法,内部类,枚举类。
如果是属于类的东西(直接可以用__类名.成员调用。)则用static调用。
其实类的东西对象都能用,无论是不是静态的,但是不用static修饰 的,
就是对象的东西,只能由实例化的对象来调用。
关于对象就不用说了,大家记两点就行,要创建对象,必须调用构造器。
初始化块可以看作是特殊的构造器,无参数传入,创建对象时,反正会被调用。 |
|