构造方法

Scala学习之类和属性篇(一):定义类的主构造方法

风流意气都作罢 提交于 2020-03-12 21:31:36
在Scala中直接在类名后面跟上参数,即可定义类的主构造方法。 scala> :paste // Entering paste mode (ctrl-D to finish) class Person(var firstName: String, var lastName:String) { println("The construct begins.") var age = 18 println(this) println("The construct ends.") override def toString = s"$firstName $lastName is $age years old." } // Exiting paste mode, now interpreting. defined class Person 接下来我们通过主构造方法来实例化这个类,看看发生了什么。所有定义在类体内部的可执行性代码都被执行了,也就是说整个类内部都是这个主构造方法的方法体。 scala> val p = new Person("wang", "wei") The construct begins. wang wei is 18 years old. The construct ends. p: Person = wang wei is 18 years old. 至此

Java第九次作业--接口及接口回调

 ̄綄美尐妖づ 提交于 2020-03-12 03:24:35
一.题目 利用接口和接口回调,实现简单工厂模式,当输入不同的字符,代表相应图形时,利用工厂类获得图形对象,再计算以该图形为底的柱体体积。 二.代码及注释 /**Shape类,创建接口,定义抽象类*/ package ccut.cn; interface Shape { abstract double getArea(); } /**矩形类,创建长宽,构造方法,计算矩形面积*/ package ccut.cn; public class Rectangle implements Shape { double height; double width; Rectangle(double height,double width){ this.height = height; this.width = width; } public double getArea(){ double area=height*width; return area; } } /**正方形类,创建正方形边长,构造方法,并求正方形面积*/ package ccut.cn; public class Square implements Shape { double side; Square(double side){ this.side = side; } public double getArea(){

Java反射之构造方法反射

☆樱花仙子☆ 提交于 2020-03-11 13:10:38
上一篇 Java反射之Class类 我们介绍了java反射的关键类Class, 反射就是由一个java类映射得到一个java类 。 所以,我们自然能想到,一个类中应该有哪些属性,这里做个比方,人有名字年龄等属性,所有一个Person类中就会有name,age这两个属性,同理,一个类中也有构造方法,字段,方法等属性。 接下来我们首先了解构造方法,通过反射构造方法动态创建一个对象。 [一] Constructor类 Constructor对象代表的是一个构造方法,那么这个对象应该有哪些方法呢,我们猜测一定会有获得这个构造方法的名称,获得该构造方法属于的类,通过这个构造方法产生一个对象等方法。 从jdk文档里可以看到有getName()获得构造方法名称,getDeclaringClass()获得所属类的类,newInstance()创建对象。 在开发中,我们常用Constructor类的newInstance()方法来动态创建对象。 [二] 获得Constructor对象 在演示Constructor类中的方法前,先介绍如何获得Constructor,和Class一样,Constructor也不可以直接new出。 上面是Class类的jdk文档中的两个方法,这两个方法分别是获得指定的构造方法和获得所有的构造方法。 所以我们知道,想要得到Constructor对象,就要先获得Class对象

JavaIO - 打印流

淺唱寂寞╮ 提交于 2020-03-11 13:09:26
打印流可以直接操作输入流和文件。 不负责数据源,只负责数据目的 为其它输出流,添加功能 不会抛出IO异常,但可能会抛出其他异常 PrintStream和PrintWriter的区别 : ● 方法名完全一致,一般使用PrintWriter,灵活性更强 ● PrintWriter类实现了PrintStream类中的所有print方法 ● PrintStream和PrintWriter的区别在构造方法上,指定输出的目的端 ● PrintStream构造方法接收:File对象,字符串路径,字节输出流OutputStream ● PrintWriter构造方法接收:File对象,字符串路径,字节输出流OutputStream,字符输出流Writer 1.PrintStream(字节打印流) 它的打印方法print可以保证数值的表现形式不变。写的是什么样子,目的地就是什么样子 类中常用方法: ● PpintStream(File file):通过一个File对象实例化PrintStream类 ● printStream(OutputStream out):接收OutputStream对象,实例化PrintStream类 ● printf(Locale l,String format,Object args):根据指定的Locale进行格式化输出 ● printf(String format

面向对象

纵然是瞬间 提交于 2020-03-11 06:33:18
js面向对象   类: 具有相同的特征的一些对象的集合。   对象:具体到某一个事物了都可以叫作对象。   类 通过function 定义类 所以在js里类的本质是函数;类的标志 首字母大写 函数内部使用this 调用函数是使用new关键字。   类和函数天生有两个属性是prototype和__proto__; Prototype又是一个对象天生有一个 constructor的属性,属性值是函数和类本身。   普通对象天生有一个__proto__的属性,这个属性是对象,指向他的父类。 php面向对象   1、类的创建 class 创建类    class Person{   } 2、对象的创建 使用new 关键字   class Person{   }   $p1=new Person; 3、成员的添加   添加成员需要 三个修饰符:     Public: 公开的 定义公共的属性和方法,类的外部,类的内部,子类都可以使用     protected: 受保护的 定义受保护的属性和方法 只能在类的内部和子类里使用     Private :私有的 定义私有的属性和方法 只能在自身的类里使用     方法成员如果前面不加修饰符 默认是public 4成员调用使用->符号    $p1=new Person;   $p1->fn( );   使用成员属性和方法的时候 属性和方法前面不带

java中创建对象 类名 对象名=new 类名()含义

我们两清 提交于 2020-03-10 10:52:29
类名 对象名=new 类名(); 类名 对象名 :这个的解释是创建名称为“对象名”的“类名”类引用变量 new    : 这个的解释是实例化对象 类名()   :这个的解释是无参数构造方法; new 类名() :就是说以无参数构造方法实例化对象; 类名 对象名=new 类名()  :用指针的解释就是:以无参数构造方法实例化对象并将这个对象的内存引用赋给“类名”类的“对象名”引用变量 来源: https://www.cnblogs.com/somethingnew/p/12454069.html

构造函数

旧时模样 提交于 2020-03-10 09:51:43
构造函数的一些知识点 1.在Java中,下列对于构造函数的描述正确的是? A.类必须显示已定义构造函数. B.构造函数的返回值是void. C.构造函数和类具有相同的名称,并且不能带任何参数. D.一个类可以定义多个构造函数. 答案:D 解析:A: 无参构造函数可以不显示。 B: 构造函数没有任何返回值类型,即使是void类型也没有。 C: 有参构造函数可以携带参数。 构造函数在创建类对象的时候被自动调用 Java中的所有异常都继承自Throwable Throwable:被用来表示任何可以作为异常被抛出的类。有两个重要的子类Exception和Error。二者都是Java异常处理的重要子类,并且二者也包含许多重要的子类。 Error:该类层次结构描述了Java运行时系统内部错误和资源耗尽错误,总之是与Java虚拟机有关的运行错误。也是应用程序无法处理的。这些错误是不可查的,因为它们在应用程序的控制和处理能力之 外,而且绝大多数是程序运行时不允许出现的状况。对于设计合理的应用程序来说,即使确实发生了错误,本质上也不应该试图去处理它所引起的异常状况。在 Java中,错误通过Error的子类描述。一般不需要你关心。 Exception: 是程序本身可以处理的异常,是需要程序员关心的异常类。 Java中的异常又可分为可检查异常(checked exceptions)和不可检查异常

Java继承简介

旧巷老猫 提交于 2020-03-10 09:39:02
继承是面向对象的三大特征之一。继承和现实生活中的“继承”的相似之处是保留一些父辈的特性,从而减少代码冗余,提高程序运行效率。 Java 中的继承就是在已经存在类的基础上进行扩展,从而产生新的类。已经存在的类称为父类、基类或超类,而新产生的类称为子类或派生类。在子类中,不仅包含父类的属性和方法,还可以增加新的属性和方法。 Java 中子类继承父类的语法格式如下: 修饰符 class class_name extends extend_class { // 类的主体 } 其中,class_name 表示子类(派生类)的名称;extend_class 表示父类(基类)的名称;extends 关键字直接跟在子类名之后,其后面是该类要继承的父类名称。例如: public class Student extends Person{} Java 的继承通过 extends 关键字来实现,extends 的英文意思是扩展,而不是继承。extends 很好的体现了子类和父类的关系,即子类是对父类的扩展,子类是一种特殊的父类。从这个角度看,使用继承来描述子类和父类的关系是错误的,用扩展更恰当。 类的继承不改变类成员的访问权限,也就是说,如果父类的成员是公有的、被保护的或默认的,它的子类仍具有相应的这些特性,并且子类不能获得父类的构造方法。 教师和学生都属于人,他们具有共同的属性:姓名、年龄

Android EventBus源码解析

你离开我真会死。 提交于 2020-03-10 09:31:47
前言 上一篇文章自己对EventBus的用法进行了简单的叙述,然后自己又去研究了一下EventBus3.0源码也参考了网上的一些大佬的博客进行进一步的理解,写这一篇文章让自己对EventBus有个好的总结回顾,如有不正确的地方欢迎留言。 一、EventBus简介 在EventBus没出现之前,那时候的开发者一般是使用Android四大组件中的广播进行组件间的消息传递,那么我们为什么要使用事件总线机制来替代广播呢?主要是因为: 广播:耗时、容易被捕获(不安全)。 事件总线:更节省资源、更高效,能将信息传递给原生以外的各种对象。 关于事件其实是一个泛泛的统称,指的是一个概念上的东西(不一定非得用什么Event命),通过查阅官方文档,事件的命名格式并没有任何要求,你可以定义一个对象作为事件,也可以发送基本数据类型如int,String等作为一个事件。后续的源码也可以进步证明(方法的命名并没有任何要求,只是加上@Subscribe注解即可!同时事件的命名也没有任何要求)。 EventBus作为一个消息总线主要有三个组成部分: 事件(Event): 可以是任意类型的对象。通过事件的发布者将事件进行传递。 事件订阅者(Subscriber): 接收特定的事件。 事件发布者(Publisher): 用于通知 Subscriber 有事件发生。可以在任意线程任 意位置发送事件。

浅谈PHP面向对象编程(三、构造方法和析构方法)

牧云@^-^@ 提交于 2020-03-10 05:33:44
3.0 构造方法和析构方法 从我之前的博客可以发现,实例化一个类的对象后,如果要为这个对象的属性赋值,需要直接访问该对象的属性。如果想要在实例化对象的同时就为这个对象的属性进行赋值,则可以通过构造方法来实现。构造方法是类的一个特殊成员,它会在类实例化对象时自动调用,用于对类中的成员进行初始化。与构造方法对应的是析构方法,它在对象销毁之前被自动调用。用于完成清理工作。本节将针对构造方法和析构方法进行详细讲解。 3.1 构造方法 在每个类中,都有一个构查方法,在创建对象时会被自动调用。如果在类中没有显式声明它,PHP会自动生成一一个没有参数、且没有任何操作的默认构造方法。当在类中显式声了构造方法时默认构造方法将不存在。声明构造方法和声明成员方法类似,其语法格式如下 1 修饰符 function __construct(参数列表){ 2 //初始化操作 3 } 在上述语法格式中.需要注意的是构造方法的 名称必须为 __construct 修饰符可以省略默认为pablic.接下来通过一个案例来学习构造方法的使用,如 例3-6 所示。 1 <?php 2 class Person{ 3 public $name;//成员属性$name,存储姓名 4 public $age; //成员属性$age,存储年龄 5 //声明一个构造方法,将来创建对象时,为对象的成员属性赋予初始值 6