构造器;this关键字;static关键字

构造器:

构造器是一个特殊的方法;

构造器的作用:为对象初始化信息的,不是创建对象
使用:跟随new一起使用

定义:
 修饰符 类名(参数列表){ ....  }
 构造器的定义不需要返回值类型|void
构造器的名字必须与类名保持一致
可以使用return,结束方法,方法可以重载,构造器也具有重载的特性,因为构造器是个特殊的方法。

注意:

1.如果没有显示定义任何构造器,编译器会为你默认提供一个空构造(没有参数的构造器)

2.如果有显示定义的构造器,编译器不会再为你提供任何构造器了

 

—————————————————————————————————————————————————————————————————————————————————————————————————————————

(增)构造方法的作用和特征

构造方法的特点:

1:方法名称和类同名

2:不用定义返回值类型

3:不可以写retrun语句

4:构造方法可以被重载

作用:给对象那个初始化构造方法的细节:当一个类中没有定义构造函数时,系统会默认添加一个无参的构造方法。当在类中自定义构造方法之后,默认的无参构造方法消失(如果需要无参构造方法需要手动添加)

1、构造函数的命名必须和类名完全相同;在java中普通函数可以和构造函数同名,但是必须带返回值。

2、构造函数的功能主要用于在类的对象创建定义时 初始化的状态。构造函数没有返回值,也不能用void来修饰,这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择。而其他方法都有返回值。即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让普通方法自动返回些东西,而这些就会不安全。3、构造函数不能直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它时就会被调用。

4、当定义一个类的时候,通常情况下都会显示该类的构造函数,并且在函数中指定初始化的工作也可以省略,不过java编译器会提供一个默认的构造函数,此默认构造函数是不带参数的,而一般方法不存在这一特点。

原文链接:https://blog.csdn.net/HLWLL/article/details/79762533

—————————————————————————————————————————————————————————————————————————————————————————————————————————

This关键词:

this关键字的作用和用法:

作用:1. this存储对象的地址2. 如果出现同名变量的问题,想要指代成员变量必须使用this

用法:在构造器中,this指代当前new的对象,动态的执行不同的对象,必须用在构造器首行才可以,构造器之间不能相互调用

例:

class cat(){

public String name; 
 public String type;
 public String color;

public Cat(String name){
  System.out.println(name);
  this.name=name;
 }
 public Cat(String name,String type){
  this.name=name;
  this.type=type;
 }

 

}

这里的this都指在cat这个类里。

Static 关键词:方便在没有创建对象的情况下来进行调用(方法/变量)

Static是一个静态的,是一个成员修饰符,只能修饰成员,不能修饰局部

修饰变量: 静态变量|类变量                修饰方法: 静态方法|类方法

static修饰的变量和方法,在类加载时即被初始化,可直接通过类名.变量名和类型.方法名进行调用。

静态内容的使用方式:

1.对象使用——引用名.静态变量名和引用名.静态方法名()

2.通过类名使用——类名.静态变量名和类名.静态方法名()

成员都是属于对象的,静态的内容是属于类的,静态的变量在静态区中存在,是独一份的,所有对象共享的资源,在类第一次加载之后就初始化了;

成员的变量在对象的内存空间中,跟随对象存在的,有一个对象就有一份成员;

this不能在static修饰的方法中使用——why——静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。因此在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。

静态的内容中只能直接使用静态的内容,不能直接使用成员的内容,但是可以通过对象使用;

关于Static其他资料:https://blog.csdn.net/zy2317878/article/details/82353976 

 

 

posted @ 2019-11-25 21:00  凌晨之曦  阅读(238)  评论(0)    收藏  举报