<1> 类
·概念:抽象的,eg.人、猫
·单位:类是java中最基本的构建块
·用法:类名每个单词首字母需大写(且类名需与所在文件名一致,一个.java文件中只能写一个类)
·其基本格式如下(关键字class后+类名,类的主体放在{}中):
class Name{
[class body]
}
<2> 对象
·概念:具体的,eg.小明(人)、中华田园猫
·具体内容:对象有其自己的属性(也就是域),动作(也就是方法)
eg. 学生(类)小明(对象名)身高1.8米(域),在学习(方法)
·注意!小明,这个名字是对象名,他的本身是对象。
eg. 创建学生对象,Student xiaoming = new Student();xiaoming是对象名,new Student()创建的对象空间(数据)才是真正的对象。
public class Student {
//属性(域):名字、身高
public String name;
public int height;
//行为(方法)
public void study(){
System. out.println(name + "正在学习");
}
1 属性
·别称:成员、变量、字段field
·属性的定义:(访问修饰符)+ 属性类型 + 属性名 ;
其中访问修饰符有四种:public, proctected , 默认(无),private
定义一个属性并赋值:int n = 0;
·属性类型:可以是基本数据类型(byte/short/int/long,float/double,char,boolean),也可以是引用数据类型(类class,接口interface,数组)
·全局变量(属性):直接定义在类中 (判断方法:属性外层只有一层大括号)
属性在这个类之外使用,需要先创建对象,然后才会在(这个对象申请的内存中)创建属性并初始化 (每个对象都有自己的一份属性,且该属性独立存在)
·局部变量:使用的范围仅在当前大括号范围内(判断方法:其外层有多层大括号)
2 方法
·分为主方法、成员方法,具体如图:
public class Method1{
//主方法
public static void main(String[] args){
//方法体
//调用成员方法
Student xiaoming = new Student();
xiaoming.study("数学");
}
}
//成员方法
class Student{
void study(String classname){
System.out.println("小明在学习" + classname);
}
}
·如何定义方法: 总的格式为:pubLic 返回值类型 方法名(参数列表){//方法体}
一共有四种(有无带参与有无返回值的两两组合):无参无返回值,无参有返回值,有参无返回值,有参有返回值(无返回值则用void代替即可)
3 创建对象
法一:先声明,再创建
Student xiaoming; //声明对象 小明
xiaoming = new Student(); //创建
法二:直接创建
Student xiaoming = new Student();
4 访问属性
对象名.属性名;
eg. xiaoming.age;
<3> 其数据在jvm内存中的存在形式
栈:存放基本数据类型(局部变量)
堆:存放对象(它的地址)
方法区:常量池(如小明+地址、12岁+地址)、类加载信息(属性信息、方法信息)
具体如下图: