zoukankan      html  css  js  c++  java
  • [转]java类 对象 和构造方法

    github地址:https://github.com/lily1010/java_learn/tree/master/dog

    java中对象和类

    java中万物皆对象,比如说动物,里面有猫,狗,鱼等等,他们都能跑,都能呼吸,总之他们有一些动物的共同特征,java中可以把他们归为一类。这就是java中的类;而猫,狗等,就是这个类中的一个具体的对象。
    猫,狗又有一些动作行为,就是方法.
    当你想调用那些动作行为的时候,不能直接在类中调用,因为不同的动物的行为不一样,你就必须new一个对象,来调用.

    java中类

    先来看个例子

    复制代码
    public class Dog{
        String name;
        int age;
       
        void bark(){  // 汪汪叫
            System.out.println("汪汪,不要过来");
        }
     
        void hungry(){  // 饥饿
            System.out.println("主人,我饿了");
        }
    }
    复制代码

    对上面例子说明:

    public 是类的修饰符,表明该类是公共类,可以被其他类访问。
    class 是定义类的关键字。
    Dog 是类名称。
    name、age 是类的成员变量,也叫属性;bark()、hungry() 是类中的函数,也叫方法。

    java变量类型

    一个类可以包含以下类型变量:

    局部变量:在方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
    成员变量:成员变量是定义在类中、方法体之外的变量。这种变量在创建对象的时候实例化(分配内存)。成员变量可以被类中的方法和特定类的语句访问。
    类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。static 也是修饰符的一种。

    构造方法

    注意事项:

    在类实例化的过程中自动执行的方法叫做构造方法,它不需要你手动调用。构造方法可以在类实例化的过程中做一些初始化的工作。
    构造方法的名称必须与类的名称相同,并且没有返回值。
    每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认的构造方法。

    举个栗子:

    复制代码
    package com.lechebang.www;
    
    /**
     * Created by manlili on 2016/9/21.
     */
    public class Dog{ 
        String name;
        int age;
    
        public Dog () {   //构造方法
            System.out.println("我是构造方法");
        }
        void bark(){  // 汪汪叫
            System.out.println("汪汪,不要过来");
        }
    
        void hungry(){  // 饥饿
            System.out.println("主人,我饿了");
        }
    }
    复制代码

    Java中对象

    对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:
    ①声明:声明一个对象,包括对象名称和对象类型。
    ②实例化:使用关键字new来创建一个对象。
    ③初始化:使用new创建对象时,会调用构造方法初始化对象。

    举个栗子:

    复制代码
    public class Dog{
        String name;
        int age;
    
        public Dog () {   //构造方法
            System.out.println("我是构造方法");
        }
        void bark(){  // 汪汪叫
            System.out.println("汪汪,不要过来");
        }
    
        void hungry(){  // 饥饿
            System.out.println("主人,我饿了");
        }
    
        public static void main(String[] args) {
            Dog myDog = new Dog();
        }
    }
    复制代码

    执行结果是

    访问实例变量和方法

    // 实例化
    Dog myDog = new Dog("花花", 3);
    // 通过点号访问成员变量
    myDog.name;
    // 通过点号访问成员方法
    myDog.bark();

    举个例子:

    复制代码
    public class Dog2{
        String name;
        int age;
    
        // 构造方法,没有返回值
        Dog2(String name1, int age1){
            name = name1;
            age = age1;
            System.out.println("感谢主人领养了我");
        }
    
        // 普通方法,必须有返回值
        void bark(){
            System.out.println("汪汪,不要过来");
        }
    
        void hungry(){
            System.out.println("主人,我饿了");
        }
    
        public static void main(String arg[]){
            // 创建对象时传递的参数要与构造方法参数列表对应
            Dog2 myDog = new Dog2("花花", 3);
            String name = myDog.name;
            int age = myDog.age;
            System.out.println("狗狗的名字是"+name+";狗狗年龄是"+age);
    
            myDog.bark();
            myDog.hungry();
        }
    }
    复制代码

    运行结果:

  • 相关阅读:
    解说asp.net core MVC 过滤器的执行顺序
    asp.net core 2.0 Microsoft.Extensions.Logging 文本文件日志扩展
    【技术累积】【点】【java】【30】代理模式
    【技术累积】【点】【java】【29】MapUtils
    【技术累积】【点】【java】【28】Map遍历
    【技术累积】【点】【java】【27】@JSONField
    【技术累积】【点】【java】【26】@Value默认值
    【技术累积】【点】【java】【25】Orderd
    【技术累积】【点】【java】【23】super以及重写重载
    【技术累积】【线】【java】【2】AOP
  • 原文地址:https://www.cnblogs.com/orezero/p/5937243.html
Copyright © 2011-2022 走看看