public class Dog{
int furColor;
float height;
float weight;
void catchMouse(Mouse m){
m.scream();
}
public static void main(String[] args){
Dog d=new Dog();
Mouse m=new Mouse();
d.catchMouse();
}
}
用class来定义一个类
class Person'{
private int id;
private int age=20;
public int getAge(){
return age;
}
public void setAge(int i){
age=i;
}
public int getId(){
return id;
}
}
成员变量不初始化 java默认初始化
局部变量必须初始化
引用数据类型
一小块内存指向一大块内存
构造方法
1.和类名一样
2.无返回值
3.初始化对象
约定俗称的规则
1.类名首字母大写
2.变量名首字母小写
3运用驼峰表示
局部变量执行完消失 局部变量是方法中的变量
成员变量在堆内存中
1、方法区 (或者数据区,共享区)不属于堆也不属于栈
方法区中存储的是一个类的类型信息,包括public、private、protected等限定信息,以及当前类及其父类的全限定(路径)名等。此外,方法区中还存储着一个类的静态变量、实例变量、常量池、方法信息等。
2、堆
堆中存储的是Java程序中用关键字new出来的对象和数组。这部分内存的回收是由JVM的GC(
3、Java栈
Java栈中存储的是方法的局部变量和对堆中对象的引用,每个Java线程都会在这个Java栈中有一个属于自己的方法调用栈,栈中的内容以栈帧为单位进行存储,每个栈顶栈帧代表着一个线程当前正在执行的方法。
class Point{
double x,y,z;
Point(double _x,
double _y,
double _z
{
x=_x;y=_y;z=_z;
}
void setX(double _x){
x=_x;
}
double getDistance(Point p){
return (x-p.x)*........
}
public class TestPoint{
public static void main(String[] args){
Ponit p=new Point1.0,2.0,3.0)
point p1=new Point(.0.0,.0.,0.0)
sop(p.getDistance(p1));
}
计算一个点是否在圆类
main方法没结束 不消失 自动分配小空间 存放返回值
}
}