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、构造方法永远不能通过 对象.构造方法()去调用。
2、构造代码块的执行也是每new一次执行一次。
3、构造代码块的执行顺序总是在构造方法之前。
静态代码块:
属性的封装:把属性添加相应的权限修饰符(private public protected(默认))
属性添加private修饰符之后,这个属性则只能在这个类的内部访问,出了这个类,则无法访问。属性封装之后,应该提供一些公共的可以供外界访问的方法。 setter和getter。
2、this可以作为当前对象的引用,作为参数进行传递。
3、在构造方法的内部去调用当前类的其他构造方法。this(实参);
注意:
1、调用构造方法的时候,一定是在构造方法的内部,调用的当前类的其他的构造方法。
2、在用this调用构造方法的时候,那必须是在构造方法的首行。
3、通过this调用构造方法的时候,一定要避免一种循环调用。 - 构造方法不能自己调用自己。
实例属性、非静态属性
静态属性都在方法区中,这里的每个成员都是独一无二(不会重复),所有的对象共有。
静态属性是属于类的,而不是属于某个具体的对象的!类属性!
访问平台属性应该使用静态的方式:类名.属性。
注意:通过对象去访问静态的属性是不推荐的!!!
static也可以修饰方法,表示这个方法是静态方法。
访问方式也是推荐通过类名直接去访问。
非静态的方法可以访问静态的方法,但是静态方法不能访问非静态方法。
1、静态方法可以访问静态属性,静态的属性是随着类的加载而加载的。
2、静态方法不可以访问非静态属性。(访问静态方法可以没有对象,但是非静态属性是随着对象加载产生的)
3、非静态的能访问静态的。
静态代码块:用static修饰的代码块称之为静态代码块。
静态代码块的执行是在这个类加载到内存的时候自动调用,而且只调用一次。
注意区分构造代码块
静态代码块–> 构造代码块–>构造方法 执行顺序:先静态后构造,先父类后子类
二构造方法
三构造代码块
四面向对象的特点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基础之构造方法、this、static关键字
- 黑马程序员---java基础---面向对象中的构造方法及static关键字,变量的问题
- JAVA_SE基础——32.this关键字调用本类的构造方法
- 黑马程序员——高新技术---Java基础语法—面向对象_构造方法,static 关键字
- 黑马程序员——Java基础---面向对象(构造方法和static关键字)
- 黑马程序员---基础-概述、封装、构造方法、this和static关键字、继承
- java -private,this,static关键字 和构造方法,final关键字
- JAVA基础初探(三)面向对象思想、类与对象、成员变量与局部变量、构造方法、static关键字详解
- java学习基础面向对象之this和static关键字 五-4
- JAVA基础--关键字 final/static/this/super
- java基础3--面向对象(上)(static关键字与main方法)
- JAVA this关键字用在构造方法中
- 【Java基础】----static关键字、代码块、Main方法、匿名对象详解
- 黑马程序员——Java基础语法 之面向对象(概念,特征,this,static关键字,代码块)
- JAVA this关键字用在构造方法中
- JAVA基础再回首(四)——面向对象思想、类与对象、成员/局部变量、匿名对象、封装、private、this、构造方法
- Java基础之六:关键字this、super、static
- 黑马程序员—Java面向对象(类和对象、封装、构造方法、this关键字、static关键字)
- I学霸官方免费教程十:Java基础之关键字static和this
- java基础之equal()方法、static关键字、单例设计模式