您的位置:首页 > 编程语言 > Java开发

java基础_构造方法、this、static关键字

2016-09-15 16:50 399 查看
一方法的重载多态之一的静态多态

二构造方法

三构造代码块

四面向对象的特点1封装性

五this指代当前对象

六static

一、方法的重载:(多态之一的:静态多态)

在同一个类中:方法名相同,形参列表不同的两个或多个方法构成重载。

注意:形参列表不同分两种情况:

1、形参的个数不同 2、形参的顺序不同 3、参数类型不同。

判断是否重载,只关注<方法名>和<形参列表>。

二、构造方法

构造方法的主要作用就是做一些初始化的工作!

构造方法的特点:

1、与类名相同!

2、没有返回值类型(不需要任何的返回值,连void都不准有)

有没有返回值类型、方法名是否和类型一样。

注意:

1、在我们使用new来创建对象的时候,实际上是已经调用相应的构造方法来对这个对象进行初始化

2、构造方法也可以重载overload。

3、一个类中可以根据需要定义多个构造方法,这些构造方法直接构成重载。

4、如果一个类没有显示的声明任何的构造方法,则会自动添加一个无参的默认构造方法。这个构造方法没有任何动作。

5、如果显示的添加了任何一个构造方法,则默认的无参构造方法不服存在。

6、建议任何情况下,都手动添加一个无参的构造方法。 很多框架需要使用无参的构造方法来创建对象。

7、只有在new的时候才会调用构造方法。

8、构造方法永远不能通过 对象.构造方法()去调用。

三、构造代码块:

1、作用和构造方法是一样的,也是对对象进行初始化的工作。

2、构造代码块的执行也是每new一次执行一次。

3、构造代码块的执行顺序总是在构造方法之前。

静态代码块:

四、面向对象的特点1:封装性

三大特征:封装性、继承性、多态性

属性的封装:把属性添加相应的权限修饰符(private public protected(默认))

属性添加private修饰符之后,这个属性则只能在这个类的内部访问,出了这个类,则无法访问。属性封装之后,应该提供一些公共的可以供外界访问的方法。 setter和getter。

五、this:指代当前对象。

1、指代当前对象,可用使用 this.属性 或者 this.方法() 来访问当前对象的属性或调用当前对象的方法。

this.eat(null);


2、this可以作为当前对象的引用,作为参数进行传递。

fun(this);


3、在构造方法的内部去调用当前类的其他构造方法。this(实参);

注意:

1、调用构造方法的时候,一定是在构造方法的内部,调用的当前类的其他的构造方法。

2、在用this调用构造方法的时候,那必须是在构造方法的首行。

3、通过this调用构造方法的时候,一定要避免一种循环调用。 - 构造方法不能自己调用自己。

public User(){
//this();  //构造方法不能自己调用自己
}

public User(String name,String sex,int age){
this(name,age);//必须在第一行
this.sex = sex;
}
public User(String sex){
this();
this.sex = sex;
}

public User(String name, String sex){
this(sex);//必须在第一行
this.name = name;
}


this(name,sex)//使用this(实参);来调用当前类的其他构造方法


实例属性、非静态属性

六、static

静态属性不是属于某个具体的对象的,而是所有的对象所共有。

静态属性都在方法区中,这里的每个成员都是独一无二(不会重复),所有的对象共有。

静态属性是属于类的,而不是属于某个具体的对象的!类属性!

访问平台属性应该使用静态的方式:类名.属性。

注意:通过对象去访问静态的属性是不推荐的!!!

static也可以修饰方法,表示这个方法是静态方法。

访问方式也是推荐通过类名直接去访问。

非静态的方法可以访问静态的方法,但是静态方法不能访问非静态方法。

1、静态方法可以访问静态属性,静态的属性是随着类的加载而加载的。

2、静态方法不可以访问非静态属性。(访问静态方法可以没有对象,但是非静态属性是随着对象加载产生的)

3、非静态的能访问静态的。

静态代码块:用static修饰的代码块称之为静态代码块。

静态代码块的执行是在这个类加载到内存的时候自动调用,而且只调用一次。

注意区分构造代码块

new Person;//静态代码块只调用一次
new Person;//
Person fun();//


静态代码块–> 构造代码块–>构造方法 执行顺序:先静态后构造,先父类后子类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java
相关文章推荐