Java面向对象总结(一)
Java是一种纯面向对象的语言,那么什么是面向对象呢?举一个简单的例子,就是大象装冰箱的故事。那么现在有一头大象,我们要把它放进冰箱里,我们只需要开门然后把它放进去就可以了,只考虑把它放进去,而不去考虑怎么把它放进去的,也就是不考虑过程,这种思想就是面向对象。
面向对象的三大特征:
1、封装:所有的内容对外部不可见
2、继承:将父类的功能继承下来继续发展
3、多态:方法的重载本身就是一种多态性的体现等
类与对象:
类是一个抽象的概念,是一类事物的统称,比如说人,人就是一个类,那么我们每一个人就是其中的一个对象,那么也就是说,对象属于类,类是一个共性的产物,是一个综合的特征,而对象,是一个个性的产物,是一个个体的特征。类必须通过对象才能使用,那么对象的任何操作都要在类中定义。
类的定义:
定义:类是由属性和方法组成,使用class关键字进行描述,必须使用{}来进行描述类的实体。
格式:
class 类名{
属性名称;
方法名称(){
}
}
属性:其实就是一个个体的特征
方法:就是一个个体的行为,比如,唱歌,睡觉,说话,吃饭,玩耍
类的组成:类是由属性和方法组成的。
对象的定义;
格式:类名称 对象名称 = new 类名称();
根据上面的操作就可以产生对象了。
如果想访问属性和方法,请看图:
访问类中的属性 |
对象名称.属性 |
调用类中的方法 |
对象名称.方法() |
调用Person中的属性和方法
class Person{
String name ; // 表示姓名
int age ; // 表示年龄
void tell(){
System.out.println("姓名:" + name + ";年龄:" + age) ;
}
};
public class OODemo02{
public static void main(String args[]){
Person per = new Person() ; // 声明对象并实例化
per.name = "张三" ; // 设置per对象的name属性内容
per.age = 30 ; // 设置per对象的age属性内容
per.tell() ; // 调用类中的方法
}
};
关于堆栈的内存划分:
对象属于引用数据类型,所以也要进行内存的划分
|-不管任何情况下,只要调用了关键字new,则表示开辟新的堆内存空间,请看图解:
在使用类的时候必须考虑到堆栈的分配的空间,如果一个类中没有使用new关键字,那么就会出现一下问题。
Exception in thread "main" java.lang.NullPointerException
at OODemo03.main(OODemo03.java:12)
这个问题就是”空指向”问题,但是这个问题根源很简单,因为没有开辟内存空间,所以才导致这个问题。
那么本程序的方法放在哪里呢?放在方法区中。