java_方法、类和对象、static

方法:

方法定义不分先后,不可嵌套。

语句块:一对大括号({})包含的区域。

变量的作用域只限制在当前变量所在的语句块中。

变量的生命周期从声明开始,语句块结束时被系统回收。

构造方法(完成构造对象和对象初始化,可重载):无返回值,方法名和类名相同

方法重载

方法重载要求方法名相同,方法参数不同,参数不同包括:

方法参数的数量不同

方法参数的类型不同

相同数量参数中,不同参数类型在方法参数列表中的顺序不同

方法重载与返回值类型无关,与参数列表中参数名称无关。

基本数据类型和引用数据类型在作为方法参数时的区别:基本数据类型传递的是值,引用数据类型传递的是地址。
 
 

类和对象:

类是对象的抽象定义,对象是类的具体实例。类实质上是一个数据类型。

 

类的定义:成员变量不能连续定义。如 int a,b; //是错误的

一个类保存到一个文件中,并且文件名要与类名相同。(一个文件中可以运行多个类声明,只能有一个类是public,文件名必须和该类类名一致)

 

类的使用:

对象实例化 类名 对象名 = new 类名(); //未实例化的对象不能访问其属性和方法

访问属性对象名.属性名

访问方法对象名.方法名(参数列表)

成员变量:类的定义中的变量

局部变量:在方法中定义的变量

比较

成员变量

局部变量

作用域

整个类中起作用(包括方法中

只在方法中起作用

初始值

byte,short,int,long型是0

float,double型是0.0

char型是\0

boolean型是false

没有初始值,无法使用

当局部变量与成员变量重名时,在方法中优先使用局部变量,方法中使用成员变量使用this,this代表当前类的当前对象。

 

static(静态)

类的静态成员不依赖类的某一实例,可使用类名直接访问

静态变量

当类第一次被加载(任何一个对象的声明,首先要加载类),该类的静态变量就分配独立内存,直到程序结束被回收。静态成员是公共的。(局部变量不能用static修饰)

比较

静态变量

成员变量

作用域

当前类

当前类

生命周期

类加载到程序结束

从对象产生到对象回收

使用方法

类名.静态变量名

对象名.成员变量名

静态变量即类变量 成员变量即实例变量,对象实例化后才能使用

静态方法

访问静态方法:类名.方法名(参数列表)

静态方法在同一个类中被调用时,类名可以省略。普通成员方法必须在对象实例化后才可以调用

比较

静态方法

成员方法

调用

类名.方法名(参数)

对象名.方法名(参数)

调用普通方法

不能直接调用

同一个类中可以调用

调用静态方法

类名.方法名(参数)

类名.方法名(参数)

访问静态变量

类名.静态变量名

类名.静态变量名

访问成员变量

不能直接访问

同一类中可以直接访问

this关键字

不能使用

可以使用

 

   

附录:Student.java

public class Student

{

         public Student() //构造方法

         {

                   this.name = "郑翠";

                   this.isMale = false;

                   this.age = 23;

                   this.favourite = "听歌、篮球";

                   count ++;

         }

         public Student(String name, boolean isMale, int age, String favourite) //构造方法重载

         {

                   this.name = name;

                   this.isMale = isMale;

                   this.age = age;

                   this.favourite = favourite;

                   count ++;

         }

         //类的属性定义

         String name; //姓名

         boolean isMale; //是否男性

         int age; //年龄

         String favourite; //爱好

         String introduction; //简介

         static int count = 0; //学生人数  静态成员

         //方法定义

         public void display()

         {

                   System.out.println("姓名:" + name + ",性别:" + (isMale?"":"") + ",年龄:" + age + ",爱好" + favourite);

                   Student.showNumber();  //成员方法调用静态方法

         }

         public void filter(String favourite) //对学生爱好进行过滤

         {

                   int idx = this.favourite.indexOf(favourite);

                   if(idx != -1)

                   {

                            String substr1 = this.favourite.substring(0, idx);

                            String substr2 = this.favourite.substring(idx+favourite.length());

                            this.favourite = substr1 + "*****" + substr2;

                   }

         }

         public static void showNumber()

         {

                   System.out.println("共有学生" +count + ""); //count换成this.count将出错,静态方法中不能使用this

                   //静态方法不能直接访问实例变量和普通方法

         }

         public static void main(String[] args)

         {

                   Student s1 = new Student("张三",true,22,"打篮球、打人"); //此句会调用构造方法

                   s1.filter("打人");

                   s1.display();

                   System.out.println("简介:" + s1.introduction);

                   Student.showNumber();  //静态方法调用静态方法

                   Student s2 = new Student();

                   s2.display();

         }

}



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值