Java基础之构造方法、this、static关键字



1.构造方法
(1)定义:
        ①方法名与类名相同
        ②无返回值类型
        ③不能使用return返回一个值
满足以上三个条件的方法称为构造方法。对类实例化为一个对象时会自动调用构造方法。
(2)构造方法的重载:
一个类中可以定义多个构造方法,只要每个构造方法的参数类型和参数个数不同即可。
class  Perso{
         String  name  ;
          int  age ;
          //定义两个参数的构造方法
         public  Perso(String  con_name , int  con_age ){
         name = con_name ;              //为name属性赋值
         age = con_age ;               //为age属性赋值
        }
        //定义一个参数的构造方法
        public  Perso(String  con_name ){
        name = con_name ;        //为name属性赋值
       }
        public  void  speak(){
               //打印name,age的值
              System. out .println( "大家好,我叫" + name + "今年" + age + "岁!" );
       }
       }
public  class  day01 {
        public  static  void  main(String[]  args ) {
//            分别创建两个对象p1,p2
       Perso  p1 = new  Perso( "陈杰" );
       Perso  p2 = new  Perso( "李芳" ,18);
//     通过对象调用speak()方法
        p1 .speak();
        p2 .speak();
//     分别访问p1,p2两个对象的属性
       System. out .println( p1 . name );
       System. out .println( p2 . name + p2 . age );
       }
}
运行后的结果是:
大家好,我叫陈杰今年0岁!
大家好,我叫李芳今年18岁!
陈杰
李芳18


2.this关键字
...类中的变量称为成员变量
...(方法中的变量称为局部变量)
①JAVA中提供了一个关键字this,通过this关键字可以明确地访问一个类的成员变量,解决与局部变量名冲突的问题。
②也可以通过this关键字调用成员方法。
③可调用构造方法:只能在构造方法中调用其他构造方法,不能在成员方法中使用。 使用this调用构造方法的语句必须位于第一行,且只能出现一次。 


3.static 关键字
在JAVA中,定义了一个static关键字,它用于修饰类的成员,如成员变量、成员方法以及代码块等。
(1)静态变量:
 在一个JAVA类中,可以使用static关键字来修饰成员变量,该变量被称作静态变量。 静态变量可以被所有实例共享 ,可以使用“类名.变量名”的形式来访问。
class  Student{
        static  String  schoolName ;            //定义静态变量schoolName
}
public  class  day03 {
   public  static  void  main(String[] args ){
         Student  stu1 = new  Student();           //创建学生对象
         Student  stu2 = new  Student();
         Student. schoolName = "传智博客" ;              //为静态变量赋值
         System. out .println( "我的学校是" + stu1 . schoolName );    //打印第一个学生对象的学校
         System. out .println( "我的学校是" + stu2 . schoolName );     //打印第二个学生对象的学校
        
  }
       
}

运行结果为:
我的学校是传智博客
我的学校是传智博客
2)静态方法:
在类中定义的方法前加上static关键字,在不创建对象的情况下就可以调用某个方法,换句话说也就是使该方法不必和对象绑在一起。
同静态变量一样,静态方法可以使用“类名.方法名”的方式来访问,也可以通过类的实例对象来访问。
class  Person{
      public  static  void  sayHello(){      //定义静态方法
           System.out.println("hello");
     }
}
public  class  day03 {
   public  static  void  main(String[] args ){
       Person. sayHello ();                //调用静态方法
  }
     
}
(3)静态代码块:
在Java类中,使用一对大括号围起来的若干行代码被称为一个代码块,用static关键字修饰的代码块称为静态代码块。  当类被加载时,静态代码块会执行,由于类只加载一次,因此静态代码块只执行一次。 在程序中,通常会使用静态代码块来对类的成员变量进行初始化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值