构造方法

构造方法

余生长醉 提交于 2020-02-29 00:24:08
构 造 方 法是 一 种 特 殊方 法 ,它 的 名 字 必须 与 它所 在 的 类的 名 字 完全 相同,并且不 返回任 何数据类 型 ,即它 是 void 型 void 可以省略不 写 .例 如 class 梯 形 { f loat 上 底 ,下底, 高; 梯形 () { 上 底 = 60; 下底 =10 0; 高 =20; } 梯 形(f l oat x ,int y ,float h) { 上 底 = x; 下底 =y; 高= h; } } 注 : 当用类创 建 对象 时, 使用构 造 方法 , 见 4.3. 来源: oschina 链接: https://my.oschina.net/PROGRAMB/blog/3178839

Java基础_常用类之File类

一个人想着一个人 提交于 2020-02-28 10:34:06
File类 File类代表文件或者文件夹的抽象表示形式。 File类是文件或文件夹在java上的映射。而不是磁盘上真正的文件或者文件夹。 构造方法 : public File(String pathname); ——最常用的构造方法 参:文件路径。 File file = new File("text"); public File(String parent, String child) ; 参1:上级文件夹路径字符串 参2:下级文件(夹)路径; File file = new File("test","aaa.txt"); aaa.txt在test文件路径下。 public File(File parent, String child) 参1:上级文件夹对象 参2:下级文件(夹)路径; 同上,只是将parent中的path取出来用。 注意 绝对路径:加了盘符的,在计算机中的绝对地址。 相对路径:默认当前路径在 统属性 user.dir 中存储的路径。 常用方法 public boolean canRead() ——是否是只读的 public boolean canWrite() ——是否是只写的 public boolean exists() ——文件(夹)是否已存在 public boolean isDirectory()——判断file是否是文件夹 public

读《java编程思想》10-内部类

爱⌒轻易说出口 提交于 2020-02-28 05:35:52
将一个类定义放在另一个类的定义内部,这就是内部类。 1、创建内部类对象方法,假设有一个外部类Outer,其中有一个内部类Inner。 (1)在外部类中,提供创建并返回内部类对象的方法,方法名可以和内部类名字相同(首字母小写), 如: public void inner() { return new Inner(); } (2)先创建外部类对象,然后使用外部对象.new的方式创建内部类。 如: Outer outer = new Outer(); Outer.Inner inner = outer.new Inner() 2、内部类 和 其构造方法都支持所有的访问修饰符,并受到访问控制。(和普通的成员变量 和 普通方法一样) (1)内部类默认的是包访问。如果在和定义不同的包中使用Outer.Inner声明变量,就会提示无法访问Inner。 (2)内部类的缺省构造方法默认的是包访问。如果在和定义不同的包中使用outer.new Inner(),则会提示构造函数无法访问。 (第一种创建方式是不是更简单呢) 3、链接到外部类 (1)内部类可以访问外部类所有成员,因为内部类默认存在一个指向外部类的引用。 (2)如果需要在内部类内部返回此引用,可以使用外部类.this 返回。 (3)外部类可以创建内部类对象,通过此对象直接访问内部类所有成员(包括private)。 4、私有内部类 + 向上转型

Day12StringBuffer

孤街浪徒 提交于 2020-02-28 02:25:14
###13.01_常见对象(StringBuffer类的概述) * A:StringBuffer类概述 * 线程安全的可变字符序列 * B:StringBuffer和String的区别 * String是一个不可变的字符序列 * StringBuffer是一个可变的字符序列 ###13.02_常见对象(StringBuffer类的构造方法) * A:StringBuffer的构造方法: * public StringBuffer():无参构造方法 * public StringBuffer(int capacity):指定容量的字符串缓冲区对象 * public StringBuffer(String str):指定字符串内容的字符串缓冲区对象 * B:StringBuffer的方法: * public int capacity():返回当前容量。 理论值(不掌握) * public int length():返回长度(字符数)。 实际值 * C:案例演示 * 构造方法和长度方法的使用 * StringBuffer sb3 =new StringBuffer("heima"); * System.out.println(sb3.length()); //实际字符的个数 * System.out.println(sb3.capacity()); //字符串的length + 初始容量

String之IOC——构造方法赋值方式总结

只愿长相守 提交于 2020-02-28 01:35:26
1.参数为基本数据类型或String 使用constructor-arg标签属性: name属性:通过参数名找到参数列表中对应参数 index属性:通过参数在参数列表中的索引找到参数列表中对应参数,index从0开始 type属性:通过参数数据类型找到参数列表中对应参数 value属性:设置参数列表参数对应的值,用于设定基本数据类型和String类型的数据 application.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www

java 静态相关内容

假装没事ソ 提交于 2020-02-28 00:20:00
一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口。 两者的区别就是:静态代码块是自动执行的; 静态方法是被调用的时候才执行的. 静态方法 (1)在Java里,可以定义一个不需要创建对象的方法,这种方法就是静态方法。要实现这样的效果,只需要在类中定义的方法前加上static关键字。例如:public static int maximum(int n1,int n2) 使用类的静态方法时,注意: a.在静态方法里只能直接调用同类中其他的静态成员(包括变量和方法),而不能直接访问类中的非静态成员。这是因为,对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象。 b.静态方法不能以任何方式引用this和super关键字,因为静态方法在使用前不用创建任何实例对象,当静态方法调用时,this所引用的对象根本没有产生(this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用)。 (2)静态变量是属于整个类的变量而不是属于某个对象的。注意不能把任何方法体内的变量声明为静态,例如:

Java基础 学习笔记4

ぐ巨炮叔叔 提交于 2020-02-27 18:42:45
1.继承 继承是类与类的一种关系;Java中的继承是单继承,只有一个父类。 继承的好处:子类直接拥有父亲的所有属性和方法(private修饰的无效!),可实现代码复用。 语法规则: class 子类 extends 父类 eg:class Dog extends Animal{ … } 2.Java中的方法重写 如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法。 语法规则:返回值类型,方法名,参数类型及个数都要与父类继承的方法相同,才叫方法的重写。 3.Java中的继承初始化顺序 a.初始化父类再初始化子类。(使用构造方法可以看出,虽然仅创建了子类的对象,但是先执行了父类的构造方法,之后才执行子类的构造方法)。 b.先执行初始化对象中的属性,再执行构造方法中的初始化。 4.Java中final的使用 final关键字: 表示“最终的”,即不可修改。 final可以修饰类、方法、属性和变量 a.修饰类:该类不允许被继承 b.修饰方法:该方法不允许被重写 c.修饰属性:则该属性不会进行隐式初始化(不会自动初始化,之前我们没有初始化都是系统帮我们自动初始化),需要手动初始化或者在构造方法中初始化 (但二者只能选一,即只能初始化一次后便不能更改) d.修饰变量,只能在声明的时候赋一次值,成为常量(static final 会使其成为全局常量)。

线程传参数

六眼飞鱼酱① 提交于 2020-02-27 12:59:49
但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据 在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果。但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据。本文就以上原因介绍了几种用于向线程传递数据的方法,在下一篇文章中将介绍从线程中返回数据的方法。 欲先取之,必先予之。一般在使用线程时都需要有一些初始化数据,然后线程利用这些数据进行加工处理,并返回结果。在这个过程中最先要做的就是向线程中传递数据。 一、通过构造方法传递数据 在创建线程时,必须要建立一个Thread类的或其子类的实例。因此,我们不难想到在调用start方法之前通过线程类的构造方法将数据传入线程。并将传入的数据使用类变量保存起来,以便线程使用(其实就是在run方法中使用)。下面的代码演示了如何通过构造方法来传递数据: package mythread; public class MyThread1 extends Thread { private String name;

向线程传递参数的两种基本方法

落爺英雄遲暮 提交于 2020-02-27 12:59:21
在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果。但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据。本文就以上原因介绍了几种用于向线程传递数据的方法。 欲先取之,必先予之。一般在使用线程时都需要有一些初始化数据,然后线程利用这些数据进行加工处理,并返回结果。在这个过程中最先要做的就是向线程中传递数据。 一、通过构造方法传递数据 在创建线程时,必须要建立一个Thread类的或其子类的实例。因此,我们不难想到在调用start方法之前通过线程类的构造方法将数据传入线程。并将传入的数据使用类变量保存起来,以便线程使用(其实就是在run方法中使用)。下面的代码演示了如何通过构造方法来传递数据: 1.package mythread; 2. 3.public class MyThread1 extends Thread 4.{ 5. private String name; 6. 7. public MyThread1(String name) 8. { 9. this.name = name; 10. } 11. public void run() 12. { 13. System

java基础学习3---面向对象

妖精的绣舞 提交于 2020-02-27 10:59:35
1、面向对象 对象:用来描述客观事物的一个实体,由一组属性和方法构成。 面向对象: 人关注对象 人关注事物信息 类 确定对象将会拥有的属性和方法 类的特点: 类是对象的类型 具有相同属性和方法的一组对象的集合。 类和对象的关系 类是抽象的概念 对象是一个能看到的具体实体 类是对象的类型 对象是特定类型的数据 具体开发中,先定义类再实例化对象。 对象实例化 Cat cat = new Cat ( ) ; 实例化过程分两部分: 声明对象 Cat cat 实例化对象 new Cat() 注意: 1.每次new对象都会产生新的实例化对象。 2.多个对象可以指向同一块实例化空间。 3.对象必须被实例化之后才能使用。 4.对象间的引用,实际上传递的是堆内存的引用。 构造方法 1、构造方法与类同名,没有返回值。 2、只能在对象实例化的时候调用。 3、没有指定构造方法时,系统会自动添加无参的构造方法。 4、当指定构造方法时,无论是有参、无参的构造方法,都不会自动添加无参的构造方法。 5、一个类中可以有多个构造方法。 单一职责原则 单一职责原则(SRP:single responsibility principle),又称单一功能原则。 面向对象的五个基本原则之一(SOLID:SRP、OCP开放封闭原则、LSP里氏替换原则、DIP依赖倒置原则、ISP接口分离原则)。