构造方法

JAVA BufferedWriter

六月ゝ 毕业季﹏ 提交于 2020-02-02 17:57:34
BufferedWriter和FileWriter差不多,也是用来写文件的类,属于字符输出流。 区别在于BufferedWriter有一个长度为8192的char[]字符数组,作为缓冲区使用。 每次在写数据时,实际上都是在不断向缓冲数组中添加字符。 如果缓冲数组已经满了,那么将会统一写到硬盘的文件当中。减少硬盘的操作次数 如果没有写满,那么就等待下一次写入。 如果最终关闭流的时候,数组仍然没满,那么也会将其余的有效部分写到硬盘文件里。 如何使用BufferedWriter? 1.首先创建一个普通的FileWriter 2.将这个普通的FileWriter包装成为缓冲的BufferedWriter,用构造方法。 3.后面BufferedWriter使用的方法和FiledWriter基本一样。 构造方法: public BufferedWriter(FileWriter fw):参数就是普通的FileWrter对象。 public class BufferedWriter { public static void main ( String [ ] args ) throws IOException { //首先创建一个FilerWriter FileWriter fw = new FileWriter ( "file08.txt" ) ; /

06 类与对象、封装、构造方法

坚强是说给别人听的谎言 提交于 2020-02-02 14:08:39
第1章 面向对象思想 1.1 面向对象思想概述   Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下, 使用Java语言去设计、开发计算机程序。 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。面 向对象思想就是在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,描述成计算 机事件的设计思想。 它区别于面向过程思想,强调的是通过调用对象的行为来实现功能,而不是自己一步一步的去 操作实现。 举例 : 洗衣服: 面向过程:把衣服脱下来–>找一个盆–>放点洗衣粉–>加点水–>浸泡10分钟–>揉一揉–>清洗衣服–>拧干–>晾 起来 面向对象:把衣服脱下来–>打开全自动洗衣机–>扔衣服–>按钮–>晾起来 区别 : 面向过程:强调步骤。 面向对象:强调对象,这里的对象就是洗衣机。 特点 : 面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的事情简单化,并将我们从执行者变成了指挥者。 面向对象的语言中,包含了三大基本特征,即封装、继承和多态。 1.2 类和对象 1.2.1 什么是类 类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该 类事物。 现实中,描述一类事物: 属性:就是该事物的状态信息。 行为:就是该事物能够做什么。 举例:小猫。 属性:名字

java学习笔记2

纵然是瞬间 提交于 2020-02-02 04:50:10
六、对象和类 java是面向对象的语言,支持以下基本概念: 多态、继承、封装 、抽象、类、对象、实例、方法、重载 对象 : 对象是类的实例,有状态和行为 ,以一只狗为例,状态例如颜色、姓名、年龄等;行为包括:吃、叫、摇尾巴等。(可以理解为特指) 类 : 类是一个模板,描述一类对象的行为和状态 。(可以理解为泛指) eg: java中一个狗的类 public class Dog { string breed ; //成员变量,创建对象时自动实例化 int age ; //成员变量,创建对象时自动实例化 string color ; //成员变量,创建对象时自动实例化 void barking ( int n ) { . . . } //n是局部变量,方法 结束后自动销毁 。 void eating ( ) { . . . } } 七、java中的构造方法 每个类都有构造方法 ,如果用户没有定义,则java编译器会提供一个默认的构造方法。 创建一个对象时,至少调用一个构造方法。 构造方法必须与类同名。 eg:构造方法的举例 public class Puppy { string name ; public Puppy ( string name ) { . . . } } 八、java中创建对象的方法 public class Puppy { public Puppy ( sting

Java方法

谁说我不能喝 提交于 2020-02-01 22:38:55
在前面我们经常使用到System.out.println(),那么它是什么呢? println()是一个方法。 System是系统类。 out是标准输出对象。 这句话的用法是 调用系统类System中的标准输出对象out中的方法println()。 那么什么是方法呢? java方法是语句的集合,他们在一起执行一个功能。 方法是解决一类问题的步骤的有序组合。 方法包含于类或者对象中。 方法在程序中被创建,在其他地方被引用。 方法的优点 程序变得简短清晰。 有利于程序维护。 可以提高程序开发的效率。 提高了代码的重用性。 方法的命名规则 方法的名字的第一个单词应该以小写字母开始,后面的单词则用大写字母开头写,不使用连接符。 下划线可能出现在JUnit测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是:test<MethodUnderTest>_<state>,例如testPop_emptyStack。 方法的定义 修饰符 返回值类型 方法名(参数类型 参数名){ 。。。 方法体 。。。 return 返回值; } 修饰符是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。 方法可能会返回值。有些方法执行所需的操作,但没有返回值,这种情况下returnValueType是关键字void。 参数像是一个占位符。当方法被调用时,传递值给参数。这个值称为实参或者变量。参数是可选的

关于java中的继承

Deadly 提交于 2020-02-01 17:08:55
我们都知道Java中的继承是复用代码、扩展子类的一种方式,继承使得Java中重复的代码能够被提取出来供子类共用,对于Java程序的性能以及修改和扩展有很大的意义,所以这是一个非常重要的知识点。 那么对于继承的知识点,你真的都了解了吗? 首先,我们都知道子类继承父类,就能直接访问父类的公共属性以及受保护属性(public和protected),同时也能直接访问父类的公共方法以及受保护方法;其次,对于父类的私有属性,子类并不能直接访问,但是可以通过父类提供的getter和setter方法进行访问,而父类的私有方法,子类无法直接访问;还有,对于父类的包访问权限属性和方法(default),如果子类和父类在同一个包下,子类可以继承并且直接访问到,如果二者不在同一个包下,则子类无法直接访问到这些方法和属性,但是同样的可以通过父类的getter和setter方法去访问这些属性;最后一点,我们很多人其实都有疑问,子类继承父类,不是应该继承了父类的所有东西吗,为什么访问不到那些私有属性?其实这里要从内存分析来看,当我们要创建一个子类的对象时,Java虚拟机会先帮我们生成对应的父类对象,因为我们都知道,在子类的构造方法中中,首行代码必须是父类构造方法的调用,即通过super关键字来调用,如果不写,则虚拟机会自动帮我们加入super()(前提是父类有无参构造方法)

JAVA中的字符串对象池

偶尔善良 提交于 2020-02-01 14:59:38
一:引出问题 在学习字符串的两种比较方式时发现了一个现象,进行一下总结; String str1 = "kaka" ; Srting str2 = "kaka" ; System . out . println ( str1 == str2 ) ; //true 在之前的学习中, String 类型被认为是引用类型,是存放在堆中的,因此在使用" == "判断时,他会将堆内存地址一并进行判断,应该是返回 false 的,为什么返回了 true ???。 二:String的两种实例化方式 1:直接赋值 此种方式是最常用的 String str = "kaka" ; 2:使用String的构造方法 String str = new String ( "kaka" ) ; 那么这两种方式有什么不同呢? 三:引入字符串对象池进行区分 其实开始的问题的造成原因根本上就是由于 字符串对象池(String Pool) 的存在造成的。 JVM为了提高性能和效率,防止不必要的重复创建造成的内存空间的浪费和不断的销毁造成的性能下降,因此创建了String Pool。那么这个字符串对象池是如何提高效率的呢? 1:使用直接赋值 开始的问题中使用直接赋值的形式进行创建的两个字符串变量。使用"=="进行判断时,会返回true,这就说明这两个值"hello"是来自于同一块内存空间

java类

醉酒当歌 提交于 2020-02-01 14:56:11
1.前面我们了解了类与对象、private关键字、构造方法基本概念后,现在要了接java类的开发 定义一个类之中包含基本属性,setter()、getter()方法,则这有的类称为简单的java类. 对于java类开发原则遵守下面几点: 类名称必须可以明确表示出类的定义,如Person、Animals、Emp; 类中的所有属性必须使用private进行封装,如private String name; 类中所有属性必须定义想要的setter()、getter()方法; 类中可以提供构造方法,为属性初始化,但不管提供了多少个构造方法,一定要保留一个无参构造; 类中不允许直接使用System.out.println()输出,所有输出的内容都要返回给被调用处理. 2.接下来我们代码来说明 package lesson11; class Emp{ //雇员类 private int emplo; //雇员编号 private String ename; //雇员姓名 private String job; //雇员职位 private double sal; //雇员基本工资 private double comm; //佣金 public Emp(){ //无参构造方法 } public Emp(int empo, String ena, String j, double s,

java 构造方法使用 和 this

我们两清 提交于 2020-02-01 14:31:13
1.了解构造方法之前,我们先了解一下下面的格式 类名称 对象名称=new 类名称(); **类名称:**要定义对象数据类型; **对象名称:**日后进行类属性或方法操作的标记变量; **new:**开辟堆内存空间; **类名称()😗*表示要实例化对象,加上“()”都应该属于方法,即在类中应该提供一个和类名称相同的方法,而此处实际上就表示调用了类中的构造方法,那么此时我们可以发现构造方法和普通的方法不太一样的地方;构造方法就是在实例化对象时使用,而普通方法是在实例化对象产生后使用的. 2.在java中,定义构造方法要求: 构造方法的名称和类名称保持一致; 构造方法不允许由返回值类型声明; 对象实例化操作一定需要构造方法的存在,所以如果在类之中没有明确定义构造方法的话,则会自动生成一个无参、无返回值的构造方法提供给用户使用.如果一个类已经明确定义了一个构造方法的话,则无实际意义的构造方法不会自动生成,也就是说,一个类之中至少存在一个构造方法. 3.默认情况下会存在一个无参的构造方法. class Person{ //类名首字母大写 public Person(){ //无参无返回值的方法 } 在一个类对象实例化的过程之中,一定要调用构造方法,而且一个对象只能够调用一次类的构造方法.当然,在类中也可以明确定义一个构造方法,通过构造方法为类中的属性初始化. 4.下面定义又参数的构造方法

2020.01.01java基础学习笔记

假装没事ソ 提交于 2020-02-01 05:58:27
1.jdk11新特性,可直接运行单文件源码,不用先编译成字节码文件; 2.类名首字母大写,方法命名首字母小写的驼峰命名法; 3.变量分基本类型和引用类型: 基本数据类型是CPU可以直接进行运算的类型分为: 整数类型:byte,short,int,long 浮点型:float,double 字符型:char 布尔型:boolean char用单引号’’ 常量名用final修饰,全部大写 4.var关键字,类型名太长,可用var关键字 如:var sb = new StringBuilder(); 5.整数的除法对于除数为0时运行报错,编译不报错,需注意范围溢出。整数运算结果永远是精确的 6.++n表示先加一再引用n,n++表示先引用n再加16 7.移位运算,最高位的符号位不变>>,>>>符号位会跟着动 8.位运算,按位进行与或非运算。异或运算:不同为1,相同为0。 9.类型自动提升与强制转换,小的强转成大的,但高位的字节会被直接扔掉 10.浮点数无法精确表示,不能进行位运算和移位运算,浮点数比较大小,是判断其差的绝对值是否在小于某很小的数。float强制转换成int会直接丢掉小数部分,若数值超过int最大范围会返回int最大值。需要四舍五入可+0.5再强转 11.‖和&&会进行短路运算 字符和字符串 12.\转义字符 13.java13开始"""…""“3个双引号,表示多行字符,

java中构造方法及其作用

允我心安 提交于 2020-01-31 19:10:14
构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法,如:class a {}//没有任何构造函数。 构造方法就是与类同名的那个方法,它的作用是可以用来初始化,例子如下 class Person //人类{ public Person(String n,int a) //构造方法 { name = n; age = a; } private string name; private int age; } static void main(String[] args){ Person p = new Person("张三",14);//这就是作用 } new一个对象的时候要用到构造函数, 例如Hello hello = new Hello();这时调用的是Hello的无参数构造方法; Hello hello = new Hello("hi");这个是调用Hello有参数构造方法, 在JAVA中如果不写构造方法的话,会默认加上一个无参数的构造方法,但是如果已经有了一个有参数的构造方法,那么无参数的构造方法就不会默认被加上. 如果Hello类中已经有了一个有参数的构造方法,这时再使用 Hello hello = new Hello();来创建对象的时候就会出错