美文网首页
类与对象

类与对象

作者: 我把心事寄流年 | 来源:发表于2018-10-29 21:34 被阅读2次
    类包括 成员变量成员方法
    • 成员变量:

      String name;
      
    • 成员方法 ( 把static去掉 )

      public void study(){
          System.out.println("好好学习,天天向上")
      }
      
    对象的创建和使用
    • 导包 : import 包名称.类名称
    import cn.itcast.day06.demo01.Student
    
    • 创建对象 : 类名 对象名 = new 类名()
      Student s = new Student();    //无参构造
      
      Student t = new Student(name , age , gender); //全参构造
      
    • 使用成员变量,成员方法
      s.name = "Tom"; //对象名.成员变量
      s.study();     //对象名.成员方法();
      
    • 成员变量和局部变量的区别

    • 在类中的位置不同

    a. 成员变量:类中,方法外

    b. 局部变量:方法中或者方法声明上 (形式参数)

    • 作用范围不一样

    a. 成员变量:类中

    b. 局部变量:方法中

    • 初始化值的不同

    a. 成员变量:有默认值

    b. 局部变量:没有默认值。必须先定义,赋值,最后使用

    • 在内存中的位置不同

    a. 成员变量:堆内存
    b. 局部变量:栈内存

    • 生命周期不同

    a. 成员变量:随着对象的创建而存在,随着对象的消失而消失

    b. 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

    封装

    a. 使用 private 关键字来修饰成员变量。

    b. 对需要访问的成员变量,提供对应的一对 getXxx方法 setXxx 方法

    private 关键字的作用及使用

    a. private 是一个权限修饰符,代表最小权限。

    b. 可以修饰成员变量和成员方法。

    c. 被 private 修饰后的成员变量和成员方法,只在本类中才能访问。

    格式:private String name;
    

    this 关键字

    this 代表所在类的当前对象的引用(地址值),即对象自己的引用。

    当方法的局部变量和类的成员变量重名的时候,根据“就近原则”,优先使用局部变量。

    如果需要访问本类当中的成员变量,需要使用格式:this.成员变量名

    构造方法
    • public 类名 (参数类型 参数名称) {方法体}
    • 例: public Student() { }
    1. 构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样
    2. 构造方法不要写返回值类型,连void都不写
    3. 构造方法不能return一个具体的返回值
    4. 如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法,没有参数、方法体什么    事情都不做。
    5. 一旦编写了至少一个构造方法,那么编译器将不再赠送。
    6. 构造方法也是可以进行重载的。既可以定义参数,也可以不定义参数。
       重载:方法名称相同,参数列表不同。
    

    关于JavaBean

    1. JavaBean的格式
    public class ClassName{
        //成员变量
        //构造方法
        //无参构造方法
        //有参构造方法
        //成员方法
        //getXxx()
        //setXxx()
    }
    
    2 . 符合 JavaBean 规范的类 以学生类为例
    public class Student{
        //成员变量
        private String name;
        private int age;
        
        //构造方法
        public Student(){}
        
        public Student(String name,int age){
            this.name = name;
            this.age = age;
        }
        //成员方法
        public void setName(String name){
            this.name = name;
        }
        public String getName(){
            return name;
        }
        public void setAge(int age){
            this.age = age;
        }
        public int getAge(){
            return age;
        }
        
    }
    
    3. 测试类
    public class TestStudent{
        public static void main(String[] args){
            //无参构造使用
            Student t = new Student();
            t.setName("Tom");
            t.setAge(5);
            System.out.println(t.getName()+"-----"+t.getAge());
            
            //带参构造使用
            Student j = new Student("Jerry",3);
            System.out.println(j.getName()+"-----"+j.getAge());
        }
    }
    

    相关文章

      网友评论

          本文标题:类与对象

          本文链接:https://www.haomeiwen.com/subject/pobitqtx.html