static关键字的特点:
·用来修饰类的成员—修饰成员变量的称为类变量(静态变量)
·修饰成员方法称之为类方法(静态方法)
·当类被加载的时候就会被加载,优先于对象的存在
·用来修饰语句块—称之为静态代码块,先于构造方法之前执行,只会执行一次,用来对静态成员 做初始化。
·调用的时候可以直接通过类名.成员来进行访问
static关键字的注意事项:
·静态方法中只能访问外部的静态成员
·静态方法中不能出现this关键字
package 学习java的第五天;
class mate{
private int age;
String name;
int num;
int score;
static int data;
mate(int age,String name,int num,int score)
{
System.out.println("构造方法");
this.age=age;
this.name=name;
this.num=num;
this.score=score;
}
static//如果mate里面只有static一个函数的情况下 输出的结果是空白
{
System.out.println("静态代码块");
data=100;
}
}
public class quiet {
public static void main(String[] args) {
mate stu1 = new mate(20,"大帅逼",226,135);
mate stu2 = new mate(20,"大帅逼",226,135);
//quiet n =new quiet();//不用Static的 情况下可以用这个来定义 下面的add函数前就不用Static了 输出的时候要带上定义的名字
System.out.println("ret= "+add(1,2));
}
static int add(int a , int b)//切记一定不要放在main中 不然就会像我一样半天找不到报错的原因!!!!
{
return a+b;
}
}
输出结果:
静态代码块
构造方法
构造方法
ret= 3
方法重载:
多数程序设计语言要求为每个方法(函数)提供一个独一无二的方法名,不存在方法重载的概念。
在java中,规定方法签名是解析方法的规则而不是方法名,为方法重载开创了条件。
方法重载使得在一个类中,方法名相同而参数列表不同的方法可同时存在,代表相似的行为或功能。
重载overload概念: 同一个类中,同名不同参的方法称为重载方法 注意:仅有返回值不同的方法不能称为重载。
方法重载并不陌生 Java.io.PrintStream类的println方法能打印数据,根据数据类型不同, 有不同的实现方式。