1、面向对象
1.1 面向对象的优点:
1.更符合人们思维习惯
2.复杂问题简单化
3.由执行者变为指挥者
1.2 面向对象特征:封装、继承、多态
面向对象和面向过程的经典例子:大象装冰箱
//面向过程:
public class Demo_面向过程装大象 {
public static void open(){
//...
System.out.println("开冰箱门");
}
public static void hot(){
//...
System.out.println("制热。。。");
}
public static void in(){
//...
System.out.println("装大象");
}
public static void close(){
//...
System.out.println("关冰箱门");
}
public static void main(String[] args) {
open();
in();
close();
}
}
//面向对象:
class 冰箱类 {
public static void open(){
//...
System.out.println("开冰箱门");
}
public static void close(){
//...
System.out.println("关冰箱门");
}
public static void hot(){
//...
System.out.println("制热。。。");
}
}
class 大象类 {
public static void in(){
//...
System.out.println("装大象");
}
}
public class Demo_面向对象装大象 {
public static void main(String[] args) {
冰箱类.open();
冰箱类.hot();
大象类.in();
冰箱类.close();
}
}
2、类与对象
2.1类包含成员变量、成员方法,类是java中最基本的一个单位,用以描述现实中的事物;
成员变量:声明在类中方法外的变量;(相当于现实中 属性(名词))
成员方法:声明在类中;(相当于现实中的 行为(动词))
2.2对象就是一个类的实例,对象就是一个类的具体表现;
创建对象用以使用类中的成员: 数据类型 对象名 = new 数据类型();
格式说明:
数据类型:只能是引用数据类型,且是类的数据类型,可以是官方定义的如:String,也可以是自定义的类如:Person。
对象名:就是自定义的变量名,符合变量命名规范即可(第二个单词开始首字母都是大写)
new:关键字,用以在堆上开辟一个空间;
() :构造方法
2.3使用类中的成员变量:
获取成员变量的值: 对象名.成员变量名
成员变量赋值:对象名.成员变量名 = 数据;
2.4使用类中的成员方法:
对象名.成员方法名();
注:若调用的方法有参数,就要在小括号中加入实际参数;
若调用的方法中无参数,则留空;
只要在同一个java文件中 或同一个文件夹下不同的java文件中, 不同的类之间可直接访问;
3、java内存分配
栈:方法执行的地方,局部变量
堆:java中的对象都存在堆中(所有new出来的数据)
方法区:方法、静态的变量、常量、字节码文件
本地方法栈:存放的都是本地方法
程序计数器:控制程序执行的