📄 4.1.txt
字号:
1.要弄清public、 private、 protected 、int(默认)之间的区别
public : 在任何包内都可以调用。
private: 只能在自己类里可以使用。
protected:在同一包里可以使用。
int(默认):在同一包里可以使用。
例:public class LimitDemo {
public int a = 1; //在任何包内都可以调用。
protected int b = 2; //在同一包里可以使用。
int c = 3; //在同一包里可以使用。
private int d = 4; //只能在自己类里可以使用。
}
2.static 的举例说明
public class StaticDemo {
/**
*age叫 静态变量 也叫做类变量
*/
public static int age;
/**
* name 叫实例变量
*/
public String name;
public void fun(){
/**
* 非静态方法,可以访问静态变量 和 实例变量
*/
int j = age;
String str = name;
System.out.println(age + " " + name);
}
public static void method(){
/**
* 静态方法只可以访问静态变量
*/
int k = age;
//String s = name ; //error
System.out.println(age );
}
}
在调用的时候:
访问静态变量和静态方法,不需要创建对象,直接类名.静态变量名或类名.静态方法名。
非静态方法或变量,必须先创建对象,再调用。
强烈不建议使用:对象名.静态变量名或对象名.静态方法名
例:
public class TestStatic {
public static void main(String[] args) {
/**
* 访问静态变量和静态方法
*/
int temp = StaticDemo.age;
StaticDemo.method();
/**
* 访问非静态变量和非静态方法
*/
StaticDemo demo = new StaticDemo();
String n = demo.name;
demo.fun();
}
}
3.递归调用
创建一个方法,然后自己调用自己的方法,这种方法不建议使用,它的运算速度慢,用递归时,要有一个出口。
例:public class Recursion {
public int factorial (int n){
if(n == 1){
return 1; //程序出口
}
else{
// 2 * factorial (1)
int result = n*factorial (n-1); //调用自己
return result;
}
}
4.异常
在编程出现例外时(像两个数相除,除数不能为0),则用以下语句:
try
{语句体;}
catch(Exception e) //说明出错的原因
{语句体;
e.printStackTrace; //输出由系统描述出错的原因}
finally //即便出错也要运行
{语句体;}
例:对两个数相除,除数可能是0的情况进行说明
public class Demo {
public void div(int a, int b){
try{
int x = a/b;
System.out.println(x);
System.out.println(" 出错也得执行 ");
}catch(Exception e){
System.out.println(" 0 不能做除数 ");
e.printStackTrace();
}
}
}
注:在编写此方法时,也可以不考虑出现异常,在方法后加
thorws Exception,谁调用谁编写异常的语句。建议不使用.
5.方法中调用方法
在编写方法时,有一些方法很相似,我们可以把这些方法话放在另一个方法里调用,然后主程序再调用这个方法。
例:public class MethodDemo {
public void 做饭(){
System.out.println("正在做饭");
}
public void 洗衣服(){
System.out.println("正在洗衣服");
}
public void 打扫卫生(int i){
System.out.println("正在打扫卫生"+i);
}
public void doAllWork(){
做饭();
洗衣服();
打扫卫生(3);
}
}
-----------------------------------------------------------------
public class TestScope {
public static void main(String[] args) {
MethodDemo demo = new MethodDemo();
demo.doAllWork();
//此语句相当于demo.做饭();
demo.洗衣服();
demo.打扫卫生(3);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -