函数
普通方法可直接调用静态方法
普通方法new 之后才能调用其他类的普通方法
静态方法可直接调用静态方法
静态方法只有new 之后才能调用普通方法
自己调用自己会栈溢出
eg:
public class StaticTools{
public static void main(String[] args){
StsticTools tool=new StaticTools();
tool.sayHello2();
sayHello();
}
public static void sayHello(){
System.out.println(".......");
}
public void sayHello2(){
System.out.println(".......");
sayHello3();
}
public void sayHello3(){
System.out.println(".......");
}
public boolean sayHello4(){
System.out.println(".......");
return true;
}
}
public class Funtion{
public static void main(String[] args){
StaticTools.sayHello();
StsticTools tools=new StaticTools();
tools.sayHello2();
}
}
4种返回值类型
有参数有返回值
有参数无返回值
无参数有返回值
无参数无返回值
形参:就是一种规则,限制 1、使用这个方法必须产地一个什么类型的数据 2、数据的取值范围
实参:你所传递的数据 在真正使用时,会使用里氏替换原则,替换所有的变量
public class HelloWorldTools{
public void writeHelloWorldN(int max){
for(int i=0;i<max;i++){
System.out.println(".......");
}
}
public static void main(String[] args){
HelloWorldTools tool=new HelloWorldTools();
tool.writeHelloWorldN(8);
}
}
导出jar包
右键——Export——Java——JAR file——HelloWorldTools.java——更改路径及导出jar包名字
导入jar包
新建lib文件夹——将jar包拖进去——右键——build path
public class HelloWorld{
public static void main(String[] args){
HelloWorldTools tool=new HelloWorldTools();
tool.writeHelloWorldN(8);
}
}
j2se就是在学rt.jar
方法的参数越多,该方法就更灵活
方法的返回值
返回值类型
1.该方法是普通还是静态
2.你在哪里,本类,非本类
3.参数的数据类型
4.返回值类型
返回值类型是一个方法的一种规则,执行这个方法,一定要有一个结果
在方法中,根据返回值类型,使用return关键字,返回一个结果,哪怕返回值没有任何意义
5.当调用这个函数
方法有返回值,可以选择不接收,此时boolean就相当于void
tool.sayHello4();
可以选择接收,将这个结果当作参数继续使用
boolean flag=tool.sayHello4();
成员变量和局部变量
变量的作用范围就是括号
成员变量(全局变量)
在类中声明的变量叫成员变量
方法中分配的局部变量的生命周期就是方法,方法一出栈,所有为方法分配的空间全部收回
局部变量
在堆中,一个对象一份
在方法中声明的变量就叫做局部变量,在栈中分配内存,一定要初始化
new关键字,就表示要在堆中分配内存,在堆中分配空间JVM自动初始化
eg:Var var=new Var();
左边,在栈中分配内存;右边,在堆中分配,空间的大小=它所有全局变量的总和。
当在堆中分配内存,所有与该对象相关的普通方法全部压入方法区
静态全局变量
在常量池中,全局只有一份,最后退出,全部清空
类
封装,分类
不同的功能装在不同的类中
eg:double s=Math.pow(10,2);
System.out.println(s);
输出10的2次方