zoukankan      html  css  js  c++  java
  • Java面向对象--构造器(构造方法)

    构造器就是和类名相同但无返回类型的方法。用于当前或某一对象的实例化,并将当前或某一对象返回。要得到一个类的实例时,往往是要运行其构造函数的。本篇博客介绍Java面向对象中的构造器(构造方法的用法)。


    构造器的概述

    ☃ 构造器是Java学习中很重要的一个概念,构造器可以提供许多特殊的方法,构造器作为一种方法,负责类中成员变量(域)的初始化。实例构造器分为缺省构造器和非缺省构造器。

    修饰符 类名(参数列表){
     	   初始化语句;
    }
    

    构造器的特征

    ☃ 它具有与类相同的名称

    ☃ 它不声明返回值类型。(与声明为void不同,void也算是一种返回值类型,空返回类型)

    ☃ 不能被static、final、synchronized、abstract、native修饰,可以被权限修饰符(public,protected,default(缺省)、private)修饰,不能有
    return语句返回值

    构造器的作用

    ☃ 构造器最大的用处就是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。如果想改变这种默认的初始化,就可以通过自定义构造器来实现。

    构造器的分类

    根据参数不同,构造器可以分为如下两类:

    ☃ 隐式无参构造器(系统默认提供)

    ☃ 显式定义一个或多个构造器(构造器的重载)

    注意:

    ➥ Java 语言中,每个类都至少有一个 构造器(不写的话系统默认提供)

    ➥ 默认构造器的权限修饰符与所属类的修饰符一致

    ➥ 一旦显式定义了构造器,则系统不再提供默认构造

    ➥ 一个类可以创建多个重载的构造器

    ➥ 父类的构造器不可被子类继承

    构造器的重载

    ☃ 构造器一般用来创建对象的同时初始化对象

    ☃ 构造器重载使得对象的创建更加灵活,方便创建各种不同的对象

    ☃ 构造器重载,参数列表必须项,用法与方法的重载一致

    构造器的使用举例

    public class ConstructorTest {
    	public static void main(String[] args) {
    		/*
    		   在创建Dog类的实例时:Dog d = new Dog();
    		   系统自动调用构造器将属性初始化
    		*/
    		Dog d1 = new Dog();
    		System.out.println("狗狗的名字是" + d1.getName() + "有 " + d1.getLegs() + "条腿");
    		Dog d2 = new Dog("圆圆" , 4);
    		System.out.println("狗狗的名字是" + d2.getName() + "有 " + d2.getLegs() + "条腿");
    	}
    }
    
    class Dog{
    	 private int legs;
    	    private String name;
    	    //Dog类的构造器,权限为public
    	    public Dog(){
    	        //初始化成员变量
    	        legs = 4;
    	        name = "小黑";
    	    }
    	    //构造器的重载
    	    protected Dog(String s,int i) {
    			legs = i;
    			name = s;
    		}
    	    //成员变量的set和get方法
    	    public void setLegs(int i) {
    	        legs = i;
    	    }
    	    public int getLegs(){
    	        return legs;
    	    }
    	    public void setName(String s) {
    	        name = s;
    	    }
    	    public String getName(){
    	        return name;
    	    }
    }
    /*输出:
      狗狗的名字是小黑有 4条腿
      狗狗的名字是圆圆有 4条腿
    */
    

    本博客与CSDN博客༺ཌ༈君☠纤༈ད༻同步发布

  • 相关阅读:
    iconv 文件编码相互转换
    MySQL 字符编码
    MySQL there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause同时创建多个更新当前时间戳字段 解决方法
    PHP 输出日志到文件 DEMO
    Nginx http -> https 跳转后 POST 丢失
    SSH SCP 远程密钥登录配置和服务器间的文件传输
    Mac 安装 7zip
    git pull There is no tracking information for the current branch.
    MacOS 安装配置 Laravel
    Mac OS 安装 MySQL5.7
  • 原文地址:https://www.cnblogs.com/asio/p/12387369.html
Copyright © 2011-2022 走看看