1.递归必须要有结束条件,否则会出现StackOverflowError;
2.成员变量写在类体里面,方法体的外面,可以不进行初始化,可以被本类或者其他类的方法进行调用;
调用方法先用这个类创建一个对象,再用对象.变量调用。
例如:
public class demo {
int a = 9;
public static void main(String[] args) {
demo var = new demo();
System.out.println(var.a);
}
}
3.局部变量写在方法体的里面,声明时必须初始化,只能在声明该变量的方法体里进行调用;
4.
栈:存放基础数据和自定义对象的引用;
堆:主要存储创建的对象,即new出来的对象;
方法区:加载存放class文件(字节码文件。
5.封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式,隐藏代码的实现细节,提高安全性。
例如:
class Person {
String name;
private int age;
public void setname(int _age) {
if (_age>0&&_age<120) {
age = _age;
}
else
{
System.out.println("该年龄设置不合理,请重新设置");
}
}
public int getname() {
return age;
}
}
public class demo {
public static void main(String[] args) {
Person a = new Person();
a.setage(-1);
}
}
6.基本数据类型的参数传递是值传递;
引用数据类型的参数传递是引用传递;
例如:
public class demo {
public static void m(int a) {
a = a + 1;
System.out.println("m方法中的a:" + a);
}
public static void main(String[] args) {
int a = 10;
m(a);
System.out.println("main方法中的a:" + a);
}
}
7.程序在创建对象的时候系统会默认的执行构造方法;