蓝杰学习之——
构造方法,this关键字,重载
在上构造方法这节课的时候,我对它还并没有什么深刻的印象,只觉得是把前一节课中创建对象时的new 类名(); 换了个说法而已。直到最近学了值传递和引用传递时才感觉到构造方法的重要性。
构造方法有两个作用,一是创建对象,二是传递参数(值)。
创建对象是指在写好类之后,于主函数中,创建类的对象,以便调用该类中的方法。格式为“类名对象名 = new 构造方法;(然后对象名.方法名();)”。而且用构造方法创建对象时,只需在括号中添加一个对象,就可以赋初值。通常情况下,也是我们刚开始的时候,固有的格式如以上所示,但其实,还可以有一种简略的写法“new 构造方法.方法名();”。例如我们在写窗体时,用MyFrame继承JFrame,然后再调用MyFrame的showFrame()方法,就可以直接写作“new MyFrame().showFrame();”
除了创建对象,构造方法的另一作用也使用得很频繁。我们编程,不局限于只有一个类的程序,程序一复杂,相应类的数量就会增多。如果我们在一个类中要使用其他类的方法,除了之前学的set和get方法,还可以使用构造方法。相比较而言,构造器传参的代码比set和get方法的要简单,能够减少代码数量。但是有一个缺陷,就是在继承接口时,穿的参数如果在创建得比继承接口的类要晚,那么便无法用构造方法传参,而只能用set和get方法。所以说明,世上没有完美,有些事物,虽然可以简便我们的生活,但并非万能。
this关键字是在java中常用的,它指代该类中属性值。如果不加this关键字,那么系统默认指代的是离它距离最近的一个同名值,这样便在传参中出现麻烦。如我们在一个A类中定义了一个private A a;属性,现在我们要把B类中的A a传过来,那么就需要写道
“public A(A a){
this.a = a;
}”
this.a的a是指private A a中的a,等号后面的a是指括号中的a,即B类中的a参数。
除此之外,在一些继承中,在本类里调用被继承类的方法时,可直接写“this.方法名();”。
重载,顾名思义,就是将方法重新载入,所以方法名不变。但是要区别于已载入方法,故要求括号中的参数类型,参数个数,参数顺序至少有一个不同。例如我们定义一个attack()方法,可以attack (A),attack(B),可以attack(A和B),还可以attack(B和A)。
重载和重写有很明显的区别,重载只是将方法重新载入,故方法名不变,但参数有区别。而重写是将父类中的方法重写,故以上要求全部相同,但方法体因为是重新写,所以方法体不同。
相关推荐
Java中的继承与静态static等的执行先后顺序的面试题 java面试题静态加载顺序构造方法 ...2、调用类的构造方法时先调用父类的构造方法,在调用子类的构造方法 3、类初始化时,先初始化类的属性成员,在执行构造方法。
关于JAVA的构造方法,有一些练习的东西!
关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT 关于构造方法的PPT ...
重载构造方法的目的是提供多种初始化对象的能力,使程序员可以根据实际需要选用合适的构造方法来初始化对象。程序源代码如下。 2、使用选择语句 程序功能:使用if...else 语句构造多分支,判断某一年是否为闰年。...
java 构造方法 java 构造方法 java 构造方法
●类的定义 ●对象的定义 ●类与对象 ●对象定义类的示例 ●实例变量 ●实例方法 ●实例成员的访问 ●对象的创建 ●构造方法 ●构造方法的特点 ●实例成员访问形式
【Flutter】Dart 面向对象 ( 命名构造方法 | 工厂构造方法 | 命名工厂构造方法 ) https://hanshuliang.blog.csdn.net/article/details/113746569 博客源码快照
毕业论文:哈希函数的构造方法,仅供参考。毕业论文 哈希函数
什么是构造方法?__init__,如何正确使用构造方法?什么是析构方法?__del__,如何正确使用析构方法?以及self的使用
java构造方法的学习对java学习者尤为重要
论文研究-多目标决策下Pareto非支配解的快速构造方法.pdf, 有效构造非支配解集可加快Pareto前沿的求解速度,提升多目标决策的质量和效率.在非支配解定义和性质分析基础上...
PHP的类、对象、构造方法。看懂了这个就懂了面和对象的程序设计想法。跨越各种语言的障碍。
java 使用构造方法的重载计算课程的GPA值 java 使用构造方法的重载计算课程的GPA值
79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java构造方法.zip79.java...
包含圆类的程序(含几种构造方法)java语言实现
阿基米德copula函数的构造方法,刘卫卫,,Copula 中一类被称为阿基米德Copula的函数具有形式简单、对称性、可结合性等其他Copula函数不具备的优点。正由于其自身的特点, 只要找到
java训练题目 编写程序实现子类对父类构造方法的引用?
一种图像稀疏贪婪索引字典的构造方法,基因算法
程序中描述了子类对象构建调用父类的构造方法,以及类变量和实例变量创建的不同过程
百度迁徙规模指数构造方法反演.docx