构造方法

关于String类的小结

一曲冷凌霜 提交于 2019-12-04 03:53:13
String类:不可修改(用final修饰) (1)构造方法 public String() public String(byte[] bytes):把字节数组转成字符串 public String(byte[] bytes,int index,int length):把字节数组的一部份转成字符串 public String(char[] value,int index,int count):把字符数组的一部份转成字符串 public String(String original):初始化一个新创建的 String 对象,使其表示一个与参数相同的字符序列;换句话说,新创建的字符串是该参数字符串的副本。 (2)实例方法   1)判断功能 public boolean equals(Object anObject) 判断字符串是否一样 public boolean equalsIgnoreCase(String anotherString) 判断字符串是否一样,忽略大小写 public boolean contains(CharSequence s) 判断字符串是否包含哪字符串,CharSequence是一个接口,String类实现了该接口,故可以传入Sting类型的参数 public boolean startsWith(String prefix) 判断字符串是否以什么开头

构造方法

走远了吗. 提交于 2019-12-04 00:12:27
package cn.gl.ObjectLearn; /** * 一、构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。 * 每当类实例化-一个对象时,类都会自动调用构造方法。 * 构造方法,就是创建类的对象过程中运行的方法,也就是对象的初始化方法。 * 注意: * 在定义构造方法时,构造方法没有返回值,但这与普通没有返回值的方法不同, * 普通没有返回值的方法使用public void methodEx()这种形式进行定义, * 但构造方法并不需要使用void关键字进行修饰。 * 二、在构造方法中可以为成员变量赋值,这样当实例化一个本类的对象时, * 相应的成员变量也将被初始化。如果类中没有明确定义构造方法, * 则编译器会自动创建一个不带参数的默认构造方法。 * 注意: * 如果在类中定义的构造方法都不是无参的构造方法, * 则编译器:不会为类设置一个默认的无参构造方法, * 当试图调用无参构造方法实例化一个对象时,编译器会报错。 * 所以只有在类中没有定义任何构造方法时, * 编译器才会在该类中自动创建一个不带参数的构造方法。 * 三、this可以调用类的成员变量和成员方法,事实上this还可以调用类中的构造方法 * 四、私有构造方法 * 构造方法同其他方法一样,也可以用private修饰,私有的构造方法无法在本类外部使用, * 也就导致本类无法用new实例化

Java——super关键字

﹥>﹥吖頭↗ 提交于 2019-12-03 22:39:54
2.3 super关键字 ①super不是引用类型,super中存储的不是内存地址,super指向的不是父类对象. ②super代表的是当前子类对象中的父类型特征。 ③什么时候使用super? 类和父类中都有某个数据,例如,子类和父类中都有name这个属性。如果要再子类中访问父类中的name属性,需要使用 super. ④super可以用在什么地方? > super可以用在成员方法中,不能用在静态方法中。 > super可以用在构造方法中。 ⑤super关键字用在构造方法中: 语法: super(实参); 作用: 通过子类的构造方法去调用父类的构造方法. 语法规则: 一个构造方法第一行如果没有this(...);也没有显示的去调用super(...);系统会默认调用super(); ⑥ 注意 : > super(...);的调用只能放在构造方法的第一行; super(....)和this(....)不能共存。super(...);调用了父类中的构造方法,但是并不一定会创建父类对象。 在 java 语言中只要是创建 java 对象,那么 Object 中的无参数构造方法一定会执行。 > 尤其当子父类出现同名成员时,可以用super进行区分;super的追溯不仅限于直接父类; super和this的用法相像,this代表本类对象的引用,super代表父类的内存空间的标识。

Io流

荒凉一梦 提交于 2019-12-03 21:23:06
io流的继承体系 字节流继承体系 字符流继承体系 IO流概述 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 java.io IO流分类 1:按照数据流向 站在内存角度 输入流 读入数据 输出流 写出数据 2:按照数据类型 字节流 可以读写任何类型的文件 比如音频 视频 文本文件 字符流 只能读写文本文件 什么情况下使用哪种流呢? 如果数据所在的文件通过windows自带的记事本打开并能读懂里面的内容,就用字符流。其他用字节流。 IO流基类概述 IO流基类概述 1.字节流的抽象基类: InputStream ,OutputStream。 2.字符流的抽象基类: Reader , Writer。 注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀。 如:InputStream的子类FileInputStream。 如:Reader的子类FileReader。 FileOutputStream写出数据 构造方法 FileOutputStream(File file) FileOutputStream(String name) 案例演示 FileOutputStream写出数据 注意事项: 创建字节输出流对象了做了几件事情? 1.系统资源创建a.txt文件 2.建了一个fos对象 3.fos对象指向这个文件

子类继承问题

那年仲夏 提交于 2019-12-03 21:17:45
使用super使用被子类隐藏的父类方法和变量。 子类不继承父类构造方法,如若使用父类构造方法需使用super()来调用父类的构造方法,必须是子类构造方法的头一条语句。 来源: https://www.cnblogs.com/hutianhao/p/11809379.html

反 射

风格不统一 提交于 2019-12-03 20:41:54
一.概述 反射的学习,是便于能更好的理解框架编程。 目前主流的框架技术底层都是反射的机制,如:struts、spring、hibernate等 反射本质上就是一种动态编程的技术,可以在运行阶段动态地创建对象以及动态地调用方法,具体由实参决定。 引出: 若想在写代码的时候,不能确定需要创建Person对象 还是 Student对象。而是希望程序到了运行阶段,能够自行动态地决定创建具体的那个所需对象。 那么此时,就需要用到反射技术! 如: Person p = new Person(); - 只能创建Person类型的对象。 Student s = new Student(); - 只能创建Student类型的对象。 void show(){ } void show(int i){ } void show(double d){ } 如何使用 反射 ? 要用反射技术,需要借助一个类: Java.lang.Class 类 二,Class 类 1、基本概念 java.lang.Class类的实例代表应用程序的类和接口,通俗来说 ,就是该类的实例代表一种数据类型。 (不是内存空间中堆区中普通对象的一块内存空间) 区别于: Person p =new Person(); Person的一个实例, 代表的是 堆区中的一块内存空间。 而java.lang.Class类的实例代表一种数据类型。

spring data jpa遇到的一些琐碎问题

核能气质少年 提交于 2019-12-03 19:51:24
jpa是几年前就已经接触过了,不过中间隔了好久没使用过,忘了不少细节上的问题。今天就来分享下在项目中遇到的一些坑吧,应该都比较基础,注意就好。 1.对象与表的映射。 全程采用注解形式,对象中的字段可以根据数据表的字段进行定义,但是在建数据表的时候要保证数据表字段都要是大写,否则在关联关系(如:一对多,多对一,多对多等)上一直会出错,说找不到对应的列。对于对象的get、set方法,可以直接采用简便的@Data在类上进行标注即可,然后在属性上添加字段的映射注解。 2.对象的构造方法的注入 很多时候,我们会根据业务来写HQL,但是HQL自身的功能有限不能完全满足业务,我们会根据需要来查询对象,有的时候要查询一张数据表中不存在的字段,这时候要在对象中添加需要的属性,并且要给该属性添加@Transient注解,同时给该对象添加一个构造方法public User(Long id,String deptName) { this...省略},显然默认的构造方法一定要加上public User() { },这样就可以实现多个对象的关系关联,查询的时候就可以这样select new User(u.id,d.deptName) from User u,Dept d where u.deptId = d.id; 3.聚合函数在构造器中的注入 在业务统计的时候,会涉及到一些数据的统计。这时候数据库的sum

Java基础面试题总结(转)

陌路散爱 提交于 2019-12-03 11:22:11
目录 索引 Java基础知识篇 Java web基础知识总结 Java集合篇常见问题 Java基础知识篇 面向对象和面向过程的区别 面向过程:   优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。 缺点:没有面向对象易维护、易复用、易扩展 面向对象:   优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护 缺点:性能比面向过程低 Java语言有哪些特点?   1,简单易学;2,面向对象(封装,继承,多态);3,平台无关性(Java虚拟机实现平台无关性);4,可靠性;5,安全性;6,支持多线程(C++语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程 程序设计,而Java语言却提供了多线程支持);7,支持网络编程并且很方便(Java语言诞生本身就是为简化网络编程设计的,因此Java语言不仅支持网络编程而且很方便);8,编译与解释并存; 什么是字节码?采用字节码的最大好处是什么?什么Java是虚拟机? 先看下 java 中的编译器和解释器:   Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口

Java——类

ⅰ亾dé卋堺 提交于 2019-12-03 11:04:46
1.1类 1.1.1 类的概念 l 类(class)和对象(object)是面向对象的核心概念。 类是对一类事物描述,是抽象的、概念上的定义;对现实世界中具有共性的事物进行抽象就形成了类;类是一种引用类型;类在现实世界中是不存在的,是人们大脑抽象出来的一个概念。 对象是实际存在的该类事物的每个个体,因而也称实例(instance)。 “万事万物皆对象” 1.1.2 类及类的成员 现实世界万事万物是由分子、原子构成的。同理,Java代码世界是由诸多个不同功能的类构成的。现实世界中的分子、原子又是由什么构成的呢?原子核、电子!那么,Java中用类class来描述事物也是如此,类的成员有:属性(Field)、方法(Method)、构造器、代码块以及内部类。 class Person{ // 属性或成员变量 String name; boolean isMarried; // 构造器 public Person(){} public Person(String n,boolean im){ name = n;isMarried = im; } // 方法或函数 public void walk(){ System.out.println("人走路..."); } public String display(){ return "名字是:" + name + ",Married:" +

类的实例化过程

有些话、适合烂在心里 提交于 2019-12-03 11:01:19
没有继承关系 静态字段 静态构造方法 实例字段 实例构造方法 有继承关系 子类的静态字段 子类的静态构造方法 子类的实例字段 父类的静态字段 父类的静态构造方法 父类的实例字段 父类的实例构造方法 子类的实例构造方法 容易遇到的问题 当父类没有无参构造函数,继承父类的子类必须要调用父类的构造函数,否则会报错 public class Parent { public Parent(string a) { Console.WriteLine(a); } } public class Son : Parent { public Son(string a) : base(a) { Console.WriteLine(a); } }    来源: https://www.cnblogs.com/qwfy-y/p/11792362.html