构造方法

java笔试常见问题

匿名 (未验证) 提交于 2019-12-02 21:53:52
1.在Java的方法中定义一个常量要用const关键字。 错,在java中定义常量用final。 2.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。 错,抽象类中必须要有抽象方法,但是同时也可以有非抽象方法。 3.用final修饰的变量叫常量。 对 4.描述对象的两个要素是属性和方法。 对 5.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。 对 6、Java支持多重继承。 错,是单继承。一个类最多只能够有一个基类,用extends实现。 7、final修饰的类能派生子类。 错,Final是最终类,不能再派生。 8、覆盖的同名方法中,子类方法不能比父类方法的访问权限低。 对 9、抽象类中能创建对象。 错误 10、一个类可以实现多接口。 对 11、Unicode码与ASCII码相同。 错 12、Java语言是编译解释型语言。 正确 13、Java语言支持类的继承,但只支持类的单继承。 对 14、抽象方法没有方法体。 错,可以有方法体。 15、方法的重载是指子类和父类具有相同的名字、相同的参数表,但返回类型可以不相同。 错,不是子类和父类之间吧。 16、在Java中声明变量时必须指定一个类型。 对 17、Java中,一个类可以有多个直接父类。 错,不可以,是单继承。 18、package语句必须放在程序的第一句。 对 19

Java之IO流(字节流,字符流)

匿名 (未验证) 提交于 2019-12-02 21:53:52
IO流是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口。它对于任何计算机系统都非常关键, 因而所有 I/O 的主体实际上是内置在操作系统中的。单独的程序一般是让系统为它们完成大部分的工作。 在 Java 编程中,一直使用流的方式完成 I/O。所有 I/O 都被视为单个的字节的移动, 通过一个称为 Stream 的对象一次移动一个字节。流 I/O 用于与外部世界接触。它也在内部使用, 用于将对象转换为字节,然后再转换回对象。输入也叫做读取数据,输出也叫做作写出数据。 IO流是设备间的数据的传输. IO流的输入和输出(基于程序的角度,而不是基于文件的角度) 数据流向: 输入流: 文件到程序 输出流: 程序到文件 数据类型(计算机内的数据存储都是以字节的形式存储的): 字节流: 所有的文件都可以使用字节流操作 字符流: 在文本文件的读取的时候,我们需要将字节转化为字符. 几个字节表示一个字符? 不一定. 数据流向: 输入流: 输出流: 数据类型: 字节流: 字节输入流(InputStream):将内存中的数据输如入到指定的设备上 字节输出流(OutputStream):将设备上的数据输出到设备上 字符流: 字符输出流 字符输入流 FileOutputStream 构造方法(如果指定的文件不存在,则创建对象;存在,会清空文件中的数据(除非使用后两个构造方法,字符流同理)):

JAVA反射

匿名 (未验证) 提交于 2019-12-02 21:53:52
JAVA反射 反射是框架设计的灵魂 (使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码)) 一、反射的概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象。 以上的总结就是什么是反射 ????反射就是把java类中的各种成分映射成一个个的Java对象 例如:一个类有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个类进行解剖,把个个组成部分映射成一个个对象。 ????(其实:一个类中这些成员方法、构造方法、在加入类中都有一个类来描述) 如图是类的正常加载过程:反射的原理在与class对象。 熟悉一下加载的时候:Class对象的由来是将class文件读入内存,并为之创建一个Class对象。 二、查看Class类在java中的api详解(1.7的API) 如何阅读java中的api详见java基础之――String字符串处理 Class 类的实例表示正在运行的 Java 应用程序中的类和接口

java知识点---第二部分

匿名 (未验证) 提交于 2019-12-02 21:53:52
面向对象的特点: 封装性:将对象的属性与行为看成一个整体;信息隐蔽:可以将对象的属性与行为保护起来,不让外界知道或者进行修改 继承性:可以继承一些已知的类,极大的减少了代码量 多态性:方法的重载,对象多态。 类 类与对象:汽车的设计图纸是类,具体生产出的某台汽车是对象。 类中的属性必须都进行封装,封装的属性必须通过setter和getter进行访问。 用private声明的属性或方法只能在其类的内部被调用,而不能在类的外部被调用 构造方法 构造方法的作用就是为类中的属性初始化 构造方法的名称必须与类名称一致 构造方法的声明处不能有任何返回值类型的声明,不能使用return返回值 只要是类就必定存在构造方法,如果一个类中没有声明构造方法,那么在编译时,会自动生成一个无参的构造方法。如果一个类中已经明确的声明了一个构造方法,那么就不会再自动生成无参的构造方法,一个类中应该保证至少有一个构造方法。 对象 要使用对象就必须要对对象进行实例化 对象的内容存放在堆内存中,栈内存中保存的是内存存放的地址。只有对象通过new关键字实例化之后才会在堆内存开辟空间进行保存 对象属性的默认值:字符串的默认值为null,整数的默认值为0 一个栈内存空间只能指向一个堆内存空间,如果想要指向其他的堆内存空间,那么需要先断开已有的指向才可以重新分配新的空间。断开指向的空间便成了垃圾空间

第12天 面向对象

匿名 (未验证) 提交于 2019-12-02 21:53:52
第12天面向对象 今日内容介绍 this super 构造方法 我们对封装已经有了基本的了解,接下来我们来看一个新的问题,依然以Person为例,由于Person中的属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方法。当创建人对象的时候,人对象一创建就要明确其姓名和年龄,那该怎么做呢? 构造方法介绍 在开发中经常需要在创建对象的同时明确对象的属性值,比如员工入职公司就要明确他的姓名、年龄等属性信息。 那么,创建对象就要明确属性值,那怎么解决呢?也就是在创建对象的时候就要做的事情,当使用new关键字创建对象时,怎么给对象的属性初始化值呢?这就要学习Java另外一门小技术,构造方法。 那什么是构造方法呢?从字面上理解即为构建创造时用的方法,即就是对象创建时要执行的方法。既然是对象创建时要执行的方法,那么只要在new对象时,知道其执行的构造方法是什么,就可以在执行这个方法的时候给对象进行属性赋值。 ( ) { } class Person { // Person age name privateint age ; private String name ; // Person int a, String nm) { // age = a; name = nm; } 构造方法调用和内存图解 理解构造方法的格式和基本功能之后

Java基础――继承和多态

匿名 (未验证) 提交于 2019-12-02 21:53:52
  面向对象的编程允许从已经存在的类中定义新的类,这称为继承。   面向过程的范式重点在于方法的设计,而面向对象的范式将数据和方法结合在对象中。面向对象范式的软件设计着重于对象以及对象上的操作。面向对象的方法结合了面向过程范式的强大之处,并且进一步将数据和操作集成在对象中。   继承可以使得你可以定义一个通用的类(即父类),之后扩充该类为一个更加特定的类(即子类)。在Java术语中,如果类C1扩展自另一个类C2,那么就将C1称为次类,将C2称为超类。 超类也称为父类或基类,次类又称为子类、拓展类或派生类。   子类从它的父类中继承可访问的数据域和方法,还可以添加新数据域和新方法。   如果父类中有私有的数据域,这个类被继承后,父类中的私有数据域是不能被子类访问的,唯一能读取和改变它们的方法就是通过它们的get和set方法。   和传统的理解不同,子类并不是父类的一个子集。实际上,一个子类通常比它的父类包含更多的信息和方法。   父类中的私有数据域在该类之外是不可访问的。因此,不能在子类中直接使用。但是,如果父类中定义了公共的访问器/修改器方法,那么可以通过这些公共的访问器/修改器来访问和修改它们。   不是所有的“是一种”关系都该用继承来建模。继承是用来为“是一种”关系建模的。不要仅仅为了重用方法这个原因而盲目地扩展一个类。   某些程序设计语言是允许从几个类派生出一个子类的

Java中的类继承机制、接口

匿名 (未验证) 提交于 2019-12-02 21:53:52
1)声明一个Person类,有name(String类型)、age(int类型)、sex(char类型)属性,通过构造方法进行赋值。 一个show方法,返回String类型,内容如下:      某某 男(女) 年龄 2)声明一个Student类,继承Person类,增加id(int,学号)属性,通过构造方法,利用super调用父类构造方法来进行变量赋值。Override父类的show方法,返回String类型,内容如下:      某某 男(女) 年龄 学号      (提示:利用super调用父类的show方法得到除学号部分的String,然后加上学号的信息。) 3)声明一个Teacher类,继承Person,增加course(String,所教课程)属性,通过构造方法,利用super调用父类构造方法来进行变量赋值。Override父类的show方法,返回String类型,内容如下:     某某 男(女)年龄 所教课程     (提示:利用super调用父类的show方法得到除所教课程部分的String,然后加上所教课程的信息。) 4)声明PersonApp类,在其中的main方法中分别声明Person、Student、Teacher类型的变量,并通过构造方法初始化,然后显示各自的信息。 1 public class PersonApp{ 2 public static

java基础知识学习笔记三

匿名 (未验证) 提交于 2019-12-02 21:53:52
面向对象的本质:以类的方式组织代码,以对象的方式组织数据 对象:具体的事务 类:是对对象的抽象 对象和类的关系:特殊到一般,具体到抽象 Java语言除基本类型之外的变量都是引用类型 Java中的对象通过 引用 对其操作 Java中参数的传递是 值传递 内存分析 ջ :自动分配连续空间,先进先出,存放局部变量 堆 :不连续空间,放置new 出来的对象 堆 中的 方法区 :存放类的信息代码,static变量(或者static方法),常量池(字符串常量) 比如:Student s = new Student();通过class loader加载类代码,加载后堆中就有相应的信息(Student类) 垃圾回收机制(GC) 对象的空间分配:使用new 关键字创建对象即可 对象空间的释放:将对象赋值为null即可,垃圾回收器将会负责回收所有“不可达”对象的内存空间 注意点:1.程序员无权调用垃圾回收器 2.程序员可以通过system.gc()通知GC运行,但是java规范上说并不保证立刻运行 3.finalize()方法。是java提供给程序员用来释放对象或资源的方法。但是尽量少用或不用 构造器(构造方法) 构造器用于构造该类的实现,是一种特殊的方法 1. 通过new 调用 2. 构造器虽然有返回值(肯定是本类),但是不能定义返回类型,不能有return 3. 如果我们没有定义构造器

Java基础知识点总结

匿名 (未验证) 提交于 2019-12-02 21:53:52
1995 年 MicroSystems 公司 安装 JDK 后产生如下目录: \bin 目录: Java 开发工具,包括 Java 编译器、解释器等 \demo 目录:一些实例程序 \lib 目录: Java 开发类库 \ jre 目录: Java 运行环境,包括 Java 虚拟机、运行类库等 JDK 常用工具: Javac : Java 编译器,用来将 java Bytecode 。 Java : Java 解释器,执行已经转换成 Bytecode 的 java 应用程序。 Jdb : Java 调试器, 用来调试 java 程序。 设置环境变量: ( 有了集成开发环境,现已不再使用) <INSTALL_DIR> \bin; 设置Java的Path,目的是让Java程序设计者在任何环境都可以运行SDK\bin目录下的工具文件,如:javac,java, javadoc等 CLASSPATH= . ; < Other_Applications_Dir >; 设置classpath的目的是让Java虚拟机找到所需要的类库 体现 Java 的 跨平台特性 Java 语言特点 Java 语言简单 Java 是一种面向对象的语言 。和 C++ 类似,具有面向对象的基本特征。 平台无关 性 ( Write Once, Run Anywhere ) Java 既是编译型语言.class

Java基础做题记录

匿名 (未验证) 提交于 2019-12-02 21:53:52
1.接口中的方法只能使用public 和abstract修饰 A:接口中不能有方法体 B:接口中方法只能用public和abstract修饰 总结: 接口中的方法默认public abstract 修饰 接口中的变量默认public final修饰 2.关于构造方法 识别合法的构造方法; 1:构造方法可以被重载,一个构造方法可以通过this关键字调用另一个构造方法,this语句必须位于构造方法的第一行; 重载:方法的重载(overload):重载构成的条件:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载。 2 当一个类中没有定义任何构造方法,Java将自动提供一个缺省构造方法; 3 子类通过super关键字调用父类的一个构造方法; 4 当子类的某个构造方法没有通过super关键字调用父类的构造方法,通过这个构造方法创建子类对象时,会自动先调用父类的缺省构造方法 5 构造方法 不能被static、final、synchronized、abstract、native修饰 ,但 可以被public、private、protected修饰 ; 6 构造方法不是类的成员方法; 7 构造方法不能被继承。 3.关于原码反码和补码 首先源码,反码,和补码的关系 正数的反码和补码都是自身 负数的反码是符号位不变,别的位去反,负数的补码是符号位不变,源码取反加一