美文网首页
java 类和对象

java 类和对象

作者: xpf2000 | 来源:发表于2017-09-13 09:51 被阅读36次

    一、类和对象的定义

    对象是实例,是一个具体的东西,对象有其独特的行为和特征;
    类是一个模版,他描述一切对象的行为和特征;

    二、类包括以下类型变量:

    1.局部变量: 局部变量声明在方法、构造方法或者语句块中。变量的声明和初始化都是在方法中,方法结束后,变量将被销毁。
    2.成员变量: 成员变量是声明在方法之外,类之中的变量。成员变量在创建对象的时候实例化。成员方法可以被类中方法,构造方法或语句块中引用。不会随方法的结束而被销毁。
    3.类变量: 类变量也是声明在方法之外,类之内的变量,但是类变量需要加static关键字。可以被类内方法和类外的其他类所引用;

    public class animals {
        //类变量
        static String type;
        //成员变量
        int age;
        String name;
        public void eat(){
            //局部变量
            int index = 0;
            System.out.println("animals eat!");
        }
    }
    

    三、构造方法

    每个类都有构造方法。如果没有显式地添加构造方法,java编译器将会提供一个默认的构造方法。
    在创建对象的时候,必须至少调用一个构造方法。
    构造方法的名字必须与类名相同,参数可以随意添加。
    一个类可以有多个构造方法(根据参数的不同区分)。

    构造方法的创建
    public class animals {
        public animals(){
            //构造方法1
        }
        public animals(String name, int age){
            //构造方法2
        }
    }
    

    四、创建对象

    在java中,创建对象需要分为三步:
    1.声 明:声明一个对象,包括对象名称和对象类型
    2.实例化:使用new关键字来创建对象
    3.初始化:使用构造方法来初始化对象
    animals dog = new animals("dog", 2);
    上式中,等式左边为对象的声明,animals为对象类型,dog为对象名称,等号右边,new animals()创建一个对象,animals("dog", 2)是调用了构造方法来初始化对象.

    创建对象时使用构造方法
    import packagetTest1.animals;
    
    public class main1 {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //构造方法1
            animals dog = new animals();
            //构造方法2
            animals cat = new animals("cat", 5);
        }
    }
    

    五、访问实例变量和方法

    //实例化animals类
    animals dog = new animals();
    //访问实例变量
    dog.age;
    //访问方法
    dog.eat();
    

    六、源文件声明规则

    • 一个源文件中只能有一个public
    • 一个源文件中可以有多个非public
    • 源文件的名称必须和public类的名称保持一致.
    • 如果一个类定义在某个包中,那么package语句必须放在首行(注释不算行数)
    • 如果一个类中含有import语句,那么import语句应该放在package语句和类定义之间,如果没有package语句,import语句应该放在最前面
    • import语句和package语句对于源文件中定义的所有类都有效。在同一源文件中,不能给不同的类不同的包声明

    七、例子

    package packagetTest1;
    
    public class animals {
        //类变量
        static String type;
        //成员变量
        int age;
        String name;
        public void eat(){
            //局部变量
            int index = 0;
            System.out.println("animals eat!");
        }
        
        public animals(){
            //构造方法1
        }
        public animals(String name, int age){
            //构造方法2
            this.name = name;
            this.age = age;
            System.out.println("创建的动物name :" + name + " age : " + age);
        }
        
        public void setAge(int age){
            System.out.println("设置age :" + age);
            this.age = age;
        }
        public int getAge(){
            System.out.println("获取age :" + this.age);
            return this.age;
        }
    }
    
    package javaPackageTest;
    
    import packagetTest1.animals;
    
    public class main1 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //构造方法1
            animals dog = new animals();
            dog.setAge(5);
            dog.eat();
            //构造方法2
            animals cat = new animals("cat", 5);
            cat.getAge();
            cat.eat();  
        }
    }
    

    输出结果为:

    设置age :5
    animals eat!
    创建的动物name :cat age : 5
    获取age :5
    animals eat!
    
    本文章内容部分节选自菜鸟教程

    相关文章

      网友评论

          本文标题:java 类和对象

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