黑马程序员_java面向对象_构造函数
2013-11-29 04:20
232 查看
------- android培训、java培训、期待与您交流! ----------
构造函数
构造函数:构建创造对象时调用的函数
特点:
函数名与类名相同
不用定义返回值类型
没有具体的返回值
作用:
给对象进行初始化
注意:默认构造函数的特点,多个构造函数是以重载的形式存在的
当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。默认的构造函数的权限和所属类一致。默认构造构造函数的权限是随着的类的变化而变化的。当在类中自定义了构造函数后,默认的构造函数就没有了。
构造函数和一般函数的区别:
构造函数:对象一建立就会调用与之对应的构造函数。对对象进行初始化;
一般函数:对象创建后,需要该函数功能时调用才执行,为对象添加对象具备的功能。
构造函数:对象创建时,会调用且只调用一次;
一般函数:对象创建后,可以被调用多次
this关键字
特点:this代表其所在函数所属对象的引用。this代表本类对象的
this代表它所在函数所属对象的引用。
哪个对象在调用this所在的函数,this就代表哪个对象。
this的应用:在定义类中功能时,该函数内部要用到该函数的对象时,
这时用this来表示这个对象。但凡本类功能内部使用了本类对象,都用this表示。
this语句 :用于构造函数之间进行互相调用。
如:this();
this语句只能定义在构造函数的第一行。因为初始化要先执行。默认都在第一行。
构造函数_重载,代码示例:
static(静态)关键字
static关键字用于修饰成员(成员变量和成员函数)
被修饰的成员具有以下特点:
随着类的加载而加载
优先于对象存在
被所有对象所共享
可以直接被类名调用。类名.静态成员。
注意:静态方法只能方法静态成员
静态方法中,不可以写this,super关键字
主函数必须是静态的
成员变量(实例变量)和静态变量(类变量)的区别:
1.两个变量的生命周期不同
成员变量随着对象的创建而存在,随着对象的被回收而释放
静态变量随着类的加载而存在,随着类的消失而消失
2.调用方式不同
成员变量只能被对象调用
静态变量可以被对象调用,也可以被类调用
3.存放位置
成员变量数据存在堆内存的对象中,所以也叫对象的特有数据
静态变量数据存在方法区,所以也叫对象的共享数据。
对主函数main的解释:
主函数:是一个特殊的函数。是程序的入口,可以被jvm调用,无返回值。
定义:
public:代表着该函数访问权限是最大的。
static<
a262
span style="color:#333333;">:代表主函数随着类的加载而加载。
void:主函数没有具体的返回值。
main:不是关键字,但是是一个特殊的单词,可以被虚拟机识别。
(String[] arr):函数的参数,参数类型是一个数组,该数组中的元素是字符串。字符串类型的数组。
固定格式。
静态变量:
当分析对象中所具备的成员变量的值都是相同的,这时这个成员就可以被静态修饰。只要数据在对象中都是不同的,就是对象的特有数据,必须存储在对象中,定义成静态的。如果是相同的数据,对象不需要做修改,只需要使用即可,不需要存储在对象中
静态函数:
函数是否用静态修饰,就参考一点,就是该函数功能是否访问到对象中的特有数据。静态函数只能访问静态方法或者静态变量。
代码示例:
静态代码块:
------- android培训、java培训、期待与您交流! ----------
构造函数
构造函数:构建创造对象时调用的函数
特点:
函数名与类名相同
不用定义返回值类型
没有具体的返回值
作用:
给对象进行初始化
注意:默认构造函数的特点,多个构造函数是以重载的形式存在的
当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。默认的构造函数的权限和所属类一致。默认构造构造函数的权限是随着的类的变化而变化的。当在类中自定义了构造函数后,默认的构造函数就没有了。
classPerson { //构造函数 Person() { System.out.println("Hi"); } }
构造函数和一般函数的区别:
构造函数:对象一建立就会调用与之对应的构造函数。对对象进行初始化;
一般函数:对象创建后,需要该函数功能时调用才执行,为对象添加对象具备的功能。
构造函数:对象创建时,会调用且只调用一次;
一般函数:对象创建后,可以被调用多次
this关键字
特点:this代表其所在函数所属对象的引用。this代表本类对象的
this代表它所在函数所属对象的引用。
哪个对象在调用this所在的函数,this就代表哪个对象。
this的应用:在定义类中功能时,该函数内部要用到该函数的对象时,
这时用this来表示这个对象。但凡本类功能内部使用了本类对象,都用this表示。
this语句 :用于构造函数之间进行互相调用。
如:this();
this语句只能定义在构造函数的第一行。因为初始化要先执行。默认都在第一行。
构造函数_重载,代码示例:
package cn.itcast.duixiang; public class PersonTest { public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person("David"); p1.print(); p2.print(); } } class Person { private int age = 0; private String name; Person() { age = 1; name = "Mike"; } Person(String name) { this.name = name; //this关键字 } public void print () { System.out.println(age + "...." + name); } }
static(静态)关键字
static关键字用于修饰成员(成员变量和成员函数)
被修饰的成员具有以下特点:
随着类的加载而加载
优先于对象存在
被所有对象所共享
可以直接被类名调用。类名.静态成员。
注意:静态方法只能方法静态成员
静态方法中,不可以写this,super关键字
主函数必须是静态的
成员变量(实例变量)和静态变量(类变量)的区别:
1.两个变量的生命周期不同
成员变量随着对象的创建而存在,随着对象的被回收而释放
静态变量随着类的加载而存在,随着类的消失而消失
2.调用方式不同
成员变量只能被对象调用
静态变量可以被对象调用,也可以被类调用
3.存放位置
成员变量数据存在堆内存的对象中,所以也叫对象的特有数据
静态变量数据存在方法区,所以也叫对象的共享数据。
对主函数main的解释:
public class PersonTest { // 主函数 public static void main(String[] args) { } }
主函数:是一个特殊的函数。是程序的入口,可以被jvm调用,无返回值。
定义:
public:代表着该函数访问权限是最大的。
static<
a262
span style="color:#333333;">:代表主函数随着类的加载而加载。
void:主函数没有具体的返回值。
main:不是关键字,但是是一个特殊的单词,可以被虚拟机识别。
(String[] arr):函数的参数,参数类型是一个数组,该数组中的元素是字符串。字符串类型的数组。
固定格式。
静态变量:
当分析对象中所具备的成员变量的值都是相同的,这时这个成员就可以被静态修饰。只要数据在对象中都是不同的,就是对象的特有数据,必须存储在对象中,定义成静态的。如果是相同的数据,对象不需要做修改,只需要使用即可,不需要存储在对象中
静态函数:
函数是否用静态修饰,就参考一点,就是该函数功能是否访问到对象中的特有数据。静态函数只能访问静态方法或者静态变量。
代码示例:
public class PersonTest { public static void main(String[] args) { Person.method(); Person p1 = new Person("Mike",20); p1.sop(); } } class Person { private int age = 0; private String name; static String country = "China"; Person(String name,int age) { this.age = age; this.name = name; } public void sop() { System.out.println(Person.country + ":" + this.name + "..." + this.age); } public static void method () { System.out.println(Person.country); } }
静态代码块:
/* * 静态代码块 * 用于给类进行初始化 */ class StaticCode { // 代码内容 static void show(){ System.out.println("静态代码"); } static{ System.out.println("静态代码块"); } } class StaticCodeDemo { public static void main(String[] args) { StaticCode.show(); } }输出内容:
静态代码块 静态代码特点:随着类的加载而执行,但只执行一次,并优先于主函数和构造代码块。用于给类进行初始化的。
------- android培训、java培训、期待与您交流! ----------
相关文章推荐
- 黑马程序员-------- java面向对象 封装、构造函数、this static关键字、单例设计
- 黑马程序员__java面向对象__构造函数和继承
- 黑马程序员--03.Java面向对象--05.【继承】【子父类中成员的特点】【子父类中构造函数的特点】
- 黑马程序员--03.Java面向对象--01.【OOP基本概念】【匿名对象】【封装】【构造函数】【this关键字】
- 黑马程序员-----java面向对象之封装、构造函数、this关键字、static静态总结*
- 黑马程序员——Java基础---面向对象(面向对象,类,对象,匿名对象,封装,构造函数,构造代码块,this,static,main,帮助文档,静态代码块,单例)
- 黑马程序员——java之面向对象总结
- 黑马程序员--Java学习笔记之面向对象思想(多态、内部类、匿名内部类、异常类)
- 黑马程序员——Java面向对象(二)
- 黑马程序员--03.Java面向对象--05.子类对象初始化的过程【个人总结】
- 黑马程序员_java面向对象总结【1】(面向对象概述)
- 黑马程序员--Java笔记04--面向对象 及单例设计模式
- Java基础---面向对象 (黑马程序员)
- 黑马程序员_java编程基础06面向对象
- 黑马程序员 java 基础 毕向东 面向对象
- 黑马程序员_java面向对象总结【4】(内部类、异常处理、Package)
- 黑马程序员_Java面向对象下
- 黑马程序员 Java基础——面向对象思想
- 黑马程序员——Java基础---面向对象及其一些代码内部结构分析
- 黑马程序员_Java面向对象_异常