构造器和this static静态

来源:互联网 发布:禁止软件开机启动 编辑:程序博客网 时间:2024/06/06 07:02

构造器

**一个在创建对象时 被自动调用的特殊方法
作用:初始化对象 为对象进行初始化工作**

构造器是一种特殊的方法:

构造器的方法名必须和类名一致!
构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能在构造器里调用return。
通过new关键字调用!!
如果我们没有定义构造器,则系统会自动定义一个无参的构造方法。如果已定义则编译器不会添加无参数构造方法!
与普通方法一样,构造方法也可以重载
定义一个抽象类

/*老虎类 * */public class Tiger {    int age;//年龄    String name;//名字    String coler;//颜色    //无参构造方法    public Tiger(){    }    //有参构造方法    public Tiger(int age,String name,String coler){            this.age=age;            this.coler=coler;            this.name=name;    }    //方法    public void eat(){        System.out.println(name+"在吃");    }}

定义一个类接收对象

public class LiXi4 {    public static void main(String[] args) {    //通过new关键字创建对象是会调用老虎类的无参构造方法        Tiger t=new Tiger();        //通过对象名掉属性        t.name="东北虎";        //调方法        t.eat();    }}

方法调用中的参数传递(重中之重)
基本数据类型的参数传递:不能改变参数的值
引用数据类型的参数传递:不能改变参数的值

this

package com.sxt.miaxiang;/*测试this*/public class Tisethis {    String name;//名字    String sex;//性别    //有参构造方法    public Tisethis(String name, String sex) {        super();        //代表当前对象(谁调用对象就是谁)        this.name = name;        this.sex = sex;    }    //无参    public Tisethis(){    }    //方法    public void eat(){        System.out.println(name+"在吃饭");    }}

This代表当前对象自身的引用(必须new)
This可以修饰属性,区别成员变量和局部变量
This修饰方法
This修饰构造方法(必须是第一条语句)
this的作用:
this表示的是当前对象本身,
更准确地说,this代表当前对象的一个引用。

普通方法中使用this
区分类成员属性和方法的形参.
调用当前对象的其他方法(可以省略)
位置:任意

构造方法中使用this
使用this来调用其它构造方法
位置:必须是第一条语句

this不能用于static方法

static

static变量:只有一份,属于类,可以类名. Static变量
static方法: 类名. Static方法,不能出现this

用static声明的方法为静态方法
不需要对象,就可以调用(类名.方法名)

在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。强调内容
如果希望加载后,对整个类进行某些初始化操作,可以使用static初始化块*。

类第一次被载入时先执行static代码块;类多次载入时,static代码块只执行一次;Static经常用来进行static变量的初始化。
是在类初始化时执行,不是在创建对象时执行

public class LianXi {    //静态初始化代码只执行一次    static{        System.out.println("静态初始化代码向执行");    }    public static void main(String[] args) {        System.out.println("在static后执行");    }}

super

static代码块:只执行一次,最早执行的(类第一次调用)

package import

包:作用
导入:import com.bjsxt.oop.*;
静态导入: import static java.lang.Math.PI;

阅读全文
0 0
原创粉丝点击