类的组成(三部分)
全局变量(成员变量)和局部变量
成员方法(函数)
变量
按照变量的数据类型分类
基本数据类型 字符型 布尔 整型 浮点型
引用数据类型 String 数组
根据变量定义的位置不同(或者说根据变量的作用域范围)
局部变量
全局变量(成员变量)
局部变量
局部变量是指一个方法内定义的变量,根据定义形式不同分为以下三种
方法内:定义在方法体内,作用域为定义变量处到方法结束,必须初始化
代码块:定义在代码块中的变量,作用域为定义变量处到代码块结束,必须初始化
形式参数:定义方法时定义的变量,作用域为整个方法内,无须显示初始化,形参的初始化是在调用该方法时由系统完成,系统会将实参赋值给形参
例 int x =1;
局部变量特点:
没有修饰符
定义在函数内部
作用域只限于对应的函数,,但是局部变量和成员变量可以重名
全局变量
类范围内定义的变量,也称为成员变量或类属性
全局变量特点:
有修饰符 public公有的 privite私有的 default默认的 protected被保护的
函数外部
作用域为整个类,只有类消亡的时候,这个变量才会消亡
位置 | privite | default | protected | public |
定义的类中 | √ | √ | √ | √ |
同一个包中 | | √ | √ | √ |
子类中 | | | √ | √ |
其他包中 | | | | √ |
在方法外定义完就能被所有方法调用,不用考虑在方法前还是方法后定义,只要定义了就可以用
全局变量的名字可以和局部变量的名字重复
public static int x =6;
private int h=20;
int y=30;
protected int z =50;
函数的概念,分类以及语法:
函数的概念
函数就是定义在类中的具有特定功能的一段独立小程序,函数也称为方法,通俗的说,方法是一段可重复调用的代码段
函数基本分为两类
构造函数
普通函数:静态方法和实例方法:
普通函数(非构造函数)
语法: x形式参数
修饰符 函数返回值类型 函数名(参数类型 参数名...){
函数体....
}
public int getAge(String name){
return 18;
}
语法详解
修饰符:分为public protected default privite 从左到右权限逐步降低
public 公开访问权限,类和子类,同一包的类和子类,都可以访问
protected:设置权限的类中可以访问,不同包中的子类也可以访问
private:访问的权限最小,仅在该类中访问(封装思想)
函数返回值类型:
八大基本类型/引用类型(无返回值使用void关键字表示)
函数名:随便定义,语法要求第一个字母小写,函数名要见名知意
参数类型:基本类型/引用类型,个数可以无限个,
1.没有返回值的时候用void,有返回值的时候用return
public void fly(){
System.out.println("i want to fly");
}
public void fly(String type){
System.out.println("i want to fly"); 函数名字相同形参不同也可以,形参一样不成立
}
静态方法就是有static,可以直接通过类名调用,类名.函数方法名();
public static String getNam(int x,int y){
return "特别的周诺";
public static void main(String[] args) {
BianLiang p = new BianLiang();
BianLiang.getNam(4, 6);
}
控制台输出:特别的周诺
2.实例方法调用
public int add(int x,int y){
return x+y; 有返回值时用return
}
public static void main(String[] args) {
QuanJU ff= new QuanJU(); //函数实例化 类名 变量=new 类名();
System.out.println(ff.add(5,10));//非构造函数的传参
}
控制台返回:15
public String getName(int x,int y){
return"蛋蛋老师"; //return返回的内容类型必须和返回值类型一致,传参的参数类型必须和参数类型一致
}
public static void main(String[] args) {
QuanJU ff= new QuanJU();
System.out.println(ff.getName(4, 5)); 只要输入的参数是数字,无论输入什么数字,返回的都是蛋蛋老师
}
控制台返回蛋蛋老师
public String getName(String name){
return"特别的"+name;
}
public static void main(String[] args) {
QuanJU ff= new QuanJU();
System.out.println(ff.getName("周诺"));
}
控制台返回:特别的周诺
函数调用注意事项
非构造函数的调用,需要用到类(静态方法)或对象(普通方法)来调用
通过对象进行方法调用
创建对象:Person person=new Person();
用对象调用普通函数int age=person.getAge();
String name=person.getName();
函数调用注意事项:
传参:若要调用的函数有参数,则必须传入参数,而且传参类型要一致,个数也要一致,没有则不需要传参
返回值:返回值类型要一致int age=person.getAge();
String name=person.getName();
用return来返回(对于返回值为空类型的函数,不需要return语句返回任何东西,但是其实默认有一个return语句的买这个return语句比较特殊:return;)