zoukankan      html  css  js  c++  java
  • Java知识5 创建对象 实例化 构造方法【多测师】

    一、创建对象
    对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:
    声明:声明一个对象,包括对象名称和对象类型。
    实例化:使用关键字new来创建一个对象。
    始化:使用new创建对象时,会调用构造方法初始化对象。
    创建对象的例子1:
    public class Puppy{
        public Puppy(String name){
            //这个构造器仅有一个参数:name
            System.out.println("小狗的名字是 : " + name );
        }
        public static void main(String []args){
            // 下面的语句将创建一个Puppy对象
            Puppy myPuppy = new Puppy( "tommy" );
        }
      }
    运行结果: 小狗的名字是 : tommy
    
    例子2:
    public class Puppy{
      public Puppy(int age) {
       System.out.println("Puppy的年龄是:"+age);
      }
      public static void main(String[] args) {
       Puppy myPuppy = new  Puppy(18);
      }
    }
    
    二、实例化
    实例化是指在面向对象的编程中,通常把用类创建对象的过程称为实例化。格式化有类名,对象名 = new 类名(参数1,参数2...参数n)
    如 Date date=new Date();就是用日期类创建了一个日期的对象,就叫对象的实例化。
    多数语言中,实例化一个对象就是为对象开辟内存空间,或者是不用声明,直接使用new 构造函数名,建立一个临时对象。
    Java举例如下:
    public class A{
        public static void main(String[] args){
            B b = new B();//实例化
            b.print();
        }
    }
    class B{
        public void print(){
            System.out.println("Hello,World!");
        }
    }
    
    三、类变量:
    类变量声明在类中、方法体之外、但必须声明为static类型
    
    四、构造方法
    每个类都有构造方法、创建类必须有一个构造方法、构造方法要和类同名
    一个类可以有多个构造方法
    public class Puppy{
        public Puppy(){
        }
     
        public Puppy(String name){
            // 这个构造器仅有一个参数:name
        }
    }
    
    五、访问实例变量和方法:
    通过创建的对象来访问成员变量和成员方法
    /* 实例化对象 */
    ObjectReference = new Constructor();
    /* 访问类中的变量 */
    ObjectReference.variableName;
    /* 访问类中的方法 */
    ObjectReference.MethodName();
    实例如下:
    访问实例变量和调用成员方法
    public class Puppy {
        int puppyAge; // 类变量
    
        public Puppy(String name) {
      // 这个构造器仅有一个参数:name
      System.out.println("小狗的名字是 : " + name);
        }
    
        public void setAge(int age) {
      puppyAge = age;
        }
    
        public int getAge() {
      System.out.println("小狗的年龄为 : " + puppyAge);
            return puppyAge;
        }
        public static void main(String[] args) {
      /* 创建对象 */
      Puppy myPuppy = new Puppy("tommy");
      /* 通过方法来设定age */
      myPuppy.setAge(2);
      /* 调用另一个方法获取age */
      myPuppy.getAge();
      /* 你也可以像下面这样访问成员变量 */
      System.out.println("变量值 : " + myPuppy.puppyAge);
        }
    }
    
    运行结果:
    小狗的名字是 : tommy
    小狗的年龄为 : 2
    变量值 : 2
    
    
    六、Java包
    编写程序时可能编写上成百上千的类、Java包主要用来对类和接口进行分类 
    
    七、import语句
    Java中给包名、类名 Java编译器很容易定位到源代码 import语句就是提供一个合理的路径
    使编译器可以找到某各类
    
    八、举例子:
    创建俩个类 Employee和EmployeeTest
    Employee类有四个成员变量:name、age、designation和salary 该类显示声明了一个构造方法
    该方法只有一个参数
    代码如下:
    import java.io.*;
    
    public class Employee{
       String name;
       int age;
       String designation;
       double salary;
       // Employee 类的构造器
       public Employee(String name){
          this.name = name;
       }
       // 设置age的值
       public void empAge(int empAge){
          age =  empAge;
       }
       /* 设置designation的值*/
       public void empDesignation(String empDesig){
          designation = empDesig;
       }
       /* 设置salary的值*/
       public void empSalary(double empSalary){
          salary = empSalary;
       }
       /* 打印信息 */
       public void printEmployee(){
          System.out.println("名字:"+ name );
          System.out.println("年龄:" + age );
          System.out.println("职位:" + designation );
          System.out.println("薪水:" + salary);
       }
    }
    
    Main函数调用:
    包含main方法 并创建一个实例对象 EmployeeTest类实例化2个Employee类并调用方法设置变量的值
    public class EmployeeTest{
    
            public static void main(String args[]){
          /* 使用构造器创建两个对象 */
          Employee empOne = new Employee("RUNOOB1");
          Employee empTwo = new Employee("RUNOOB2");
    
          // 调用这两个对象的成员方法
          empOne.empAge(26);
          empOne.empDesignation("高级程序员");
          empOne.empSalary(1000);
          empOne.printEmployee();
    
          empTwo.empAge(21);
          empTwo.empDesignation("菜鸟程序员");
          empTwo.empSalary(500);
          empTwo.printEmployee();
      }
    }
    
    运行结果:
    名字:RUNOOB1
    年龄:26
    职位:高级程序员
    薪水:1000.0
    名字:RUNOOB2
    年龄:21
    职位:菜鸟程序员
    薪水:500.0
  • 相关阅读:
    js中拼接字符串
    js中的fliter(),map(),forEach()方法
    美化下拉框select箭头部分(不彻底)
    offsetWidth、clientWidth、scrollWidth、scrollTop、scrollLeft等属性图示
    js事件代理(事件委托)最简单的理解
    ubuntu14.04 caffe+cuda-7.0配置
    ubuntu 中安装和删除软件总结
    C++中的容器可以同时保存各种数据类型
    string的用法
    linux查看GPU的配置和使用信息
  • 原文地址:https://www.cnblogs.com/xiaoshubass/p/13110682.html
Copyright © 2011-2022 走看看