面向对象
1.本章重点:
2. 面向对象与面向过程:
1)含义区分:
(1)面向过程:注重实现一个功能的过程;将一个问题分成若干个小步骤,按照执行的步骤依次执行,整个功能就完成。
(2)面向对象:注重点在于实现这个功能;当你需要完成一个功能时,完成该功能中遇到的问题都和你没有什么关系,有一个对象可以帮你完成这些功能。
2)举例说明:
把一件东西放进冰箱:
面向过程:
1:打开冰箱门
2:把东西放进冰箱
3:关上冰箱门
面向过程会将将一个问题,分成N多个小步骤,按步骤 按照顺序依次完成 ,注重的是实现功能的过程。
面向对象: 1:东西、冰箱
面向对象注重的是实现功能,只需要有对象:具体功能实现过程不用管对象能够实现。
3)对比:
(1)面向对象:是从宏观角度上去控制整个功能的完成以及走向。
(2)面向过程:则是从微观具体实现角度来处理具体的问题。
(3) 面向对象和面向过程不是相互对立的,而是相辅相成的
4)如何创建对象:
类名 变量名=new 类名();
5)类和对象:
(1)关系:类相当于是对象的抽象,而对象就相当于类的具体化的表现。
6)注意:
(1)对于编写过程:先有类才有对象,因为在编码过程中只有有了类才可以调用对象。
(2)对于构建过程:先有对象才会有类。先将对象的共性抽离出来之后才形成类。
3.示例:
(1)代码:
1.实例类:
package com.mage.method;
public class Student {
String name;
String tel;
int stuno;
boolean sex;
public void study(){
System.out.println("人家超爱打代码的");
}
public void eat(){
System.out.println("吃东西");
}
}
2.测试类:
package com.mage.method;
public class TestStudy {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu=new Student();
stu.name="damengmeng";
//stu.study();
System.out.println(stu.name);
}
}
(2)运行结果图:、
(3)内存分析简图:
(4)内存分析详图
4.static的用法:
- static叫做 静态的 共享的 所属于类的 类被加载的时候会优先加载静态内容
- static修饰的内容只有一份,被所有的对象以及类共享,对于static修饰的内容改变,也被所有对象可见
- static修饰的内容两种调用方式:
- 通过类名直接点 类名. (建议)
- 通过对象调用 对象.
如何在一个静态内容中调非静态内容:
1:在非静态内容中加static
2:创建非静态内容的所属对象 通过对象调用
在非静态内容中调用静态方法:
1:可以直接调用,
非静态内容隶属于对象,如果非静态内容能够被调用,对象一定存在,对象存在证明类一定能被加载。
而类被加载,静态内容一定被加载。
类加载
1类在调用该类中的静态方法时或者创建该类的实例对象时会被加载
非静态内容隶属于对象,如果非静态内容能够被调用,对象一定存在,对象存在证明类一定能被加载。
而类被加载,静态内容一定被加载。
类加载
1类在调用该类中的静态方法时或者创建该类的实例对象时会被加载