创建新的数据类型:类,通过class关键字,并且后面紧跟着的是class的名称: class Name { /*Class body goes here*/ } 然后我们可以针对这个类通过new来创建对象 : Name name = new Name(); 再给这个类中设置:字段(也可以成为数据成员或成员变量)。 这种情况下,只需要再使用连接句点即可: aClassName.bClassName.field = 100; 基本成员默认值 若类的某个成员是基本数据类型,即使没有进行初始化,Java也会确保它获取一个默认值 ,只有当变量作为类的成员使用时,Java才确保给定其默认值,以确保哪些是基本类型的成员变量得到初始化,防止产生程序错误。 如果是局部变量,Java不会给默认值,如果在初始化时没有赋值,编译时会报错
本文主要介绍了抽象类和接口的特性和使用方法。 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 文章首发于我的个人博客: https://h2pl.github.io/2018/04/24/javase5 1 抽象类一般会实现一部分操作,并且留一些抽象方法让子类自己实现,比如Stringbuffer和Stringbuilder的父类abstractStringbuilder。 3 另外,一个类可以实现多个接口,但是不能继承多个类。 然而接口却可以继承多个其他接口。这一点很神奇。 下面看一下具体的例子,有一些小细节平时可能不会注意。 //因为会调用到父类的构造方法。
5.类 ? 5.1 类的声明与继承 ts的类基本包括了es6+中类的全部功能。 ts的抽象类是对js的又一扩展。 如果做这么一个类比:有一个“动物”类,它抽象概括了大部分生物的特征,但它没法被实例化,只有通过”狗“类,“人”类等子类来使之形象化。 因而,可以说抽象类是只能被继承但不能实例化的类。 5.4.2 接口与类之间的继承 接口继承类,然后再用一个类来继承这个接口: class Auto { state = 1 } interface AutoInterface extends Auto 下图反映了接口和类的关系: ?
面试官:Java的容器类你有什么了解吗? -:额,没有用过.... 面试官:你肯定用过,但你没有注意过.... -:应该是吧.... 你知道什么是容器类吗? Java容器可以说是增强程序员编程能力的基本工具,本文将与您一起理解容器类,看完之后你也许会恍然大悟,这原来就是容器类啊,一起避免面试时的尴尬!!!! 数组显然只能创建固定长度的对象,为了使程序变得更加灵活与高效,Java类库提供了一套完整的容器类,具备完善的方法来解决上述问题。 2.容器的类别 ? 容器中的七大接口 1.Collection接口 2.Map接口 3.Set接口 4.List接口 5.Queue接口 6.Iterator接口 7.Comparable接口 其中List i++){ intset.add(rand.nextInt(30)); } System.out.println(intset); } } 5.
昨天后台的一个小伙伴提到了,java里面的匿名类,这个概念在平常java码代码的时候用的特别多,所以找了一篇介绍表述比较清晰的文章分享给大家,能极大的简化代码量,是java编码基本功,属于必须掌握的范畴 然后实现了Child的一个实例,将其向上转型为Person类的引用 但是,如果此处的Child类只使用一次,那么将其编写为独立的一个类岂不是很麻烦? Thread t = new Thread() { public void run() { for (int i = 1; i <= 5; 实例5:Runnable接口的匿名内部类实现 public class Demo { public static void main(String[] args) { Runnable r = new Runnable() { public void run() { for (int i = 1; i <= 5; i++) { System.out.print(i + " "); } }
Java基础类库 使用Scanner获得键盘输入: public class ScannerKeyBoardTest { public static void main(String[] args Java7新增的Objects类: public class ObjectsTest { // 定义一个obj变量,它的默认值是null static ObjectsTest obj; 为此,Java提供了BigDecimal类,该类提供了大量构造器用于创建BigDecimal对象,包括把所有的基本数值类型变量转换成一个BigDecimal对象,也包括利用数字字符串、数字字符数组来创建 为了避免程序中对于double运算的繁琐,可以以BigDecimal基础定义一个Arith工具类: public class Arith { // 默认除法运算精度 private static Java 8专门新增了一个java.time包,该包下包含了如下常用类: Clock、Duration、LocalDate、LocalTime、LocalDateTime、MonthDay、Year、
heros[1:2])#后羿,类型为list print(heros[1:3])#['后羿','马超'],类型为list,理解为大list变为小list #从索引1开始到最后 print(heros[1:5] range()范围性方法默认从0开始传进去的参数为止,取得到第一个值取不到最后一个值 for 临时变量 in 一串数据: 将一串数据中的单个数据依次循环查看和使用 for i in [1,2,3,4,5] : print(i) for i range(5): print(i) 2.whlie循环 while(循环终止条件) a=0 while(a<10): print(a) a=a+1 #0-9 首单词首字母小写,其余后面单词首字母大写 numList=[] for i in range(10): numList.append(i) print(numList)#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] numList1=[i for i in range(10)]#代替上述三行代码 print(numList1)#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9
类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。 类的定义 [修饰符] class 类名{ } 定义类的注意: (1)如果类使用了public 修饰符 必须保证当前的文件名和当前类相同 (2) 类名使用名称表示 类表示某一类事物 首字母大写 public 一个引用变量没有通过new分配内存空间,这个对象就是空对象,Java使用关键字null表示空对象。 当调用一个空对象的实例变量或实例方法时,会抛出空指针异常NullPointException String str = null; System.out.println(str.length());//java.lang.NullPointerException 当一个对象被创建后,对象保存在堆内存中,Java程序不允许直接访问堆内存的对象,不管是数组还是对象,当程序访问引用变量的成员值或者方法时,实际上是访问引用变量的所指向的数组或者对象的成员变量或者方法。
Java是完全面向对象的,必须熟悉OOP才能够编写Java程序。面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。 ---- 上一篇内容:Java基础:Java流程控制 下一篇内容:Java基础:Java面向对象 更多知识学习:全网最全的 Java 技术栈内容梳理(持续更新中) ---- 文章目录 一、面向对象程序设计概述 Java是完全面向对象的,必须熟悉OOP才能够编写Java程序。面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。 1、类 类(class)是构造对象的模板或蓝图。 我们可以将类想象成制作小甜饼的切割机,将对象想象为小甜饼。由类构造(construct)对象的过程称为创建类的实例(instance)。 用 Java 编写的所有代码都位于某个类的内部。 标准的 Java 库提供了几千个类,可以用于用户界面设计、日期、日历和网络程序设计。尽管如此,还是需要在 Java 程序中创建一些自己的类,以便描述应用程序所对应的问题域中的对象。
转眼间我们已经工作完一周了,这周开始阿Q要不定时更新知识了,先让我们来学习一下java中的Object与string类吧。 Object类 API:Application Programming Interface 应用程序编程接口,Java API就是Java提供给我们使用的类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的 Object:所有类都直接或者间接的继承自Object类,是类层次结构的根类、 public int hashCode() 返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。 s4 = new String(arr3); System.out.println(s4); //打印出:abdcde String s5 = new String(arr3,1,3); //将arr3字符数组,从1索引开始转换3个 System.out.println(s5); //打印出:bcd
目录 前言 一、逻辑运算符 (1)逻辑运算符介绍 (2)逻辑运算符分类 (3)逻辑运算符运算规则 (4)逻辑与短路的区别 (5)演示 (6)逻辑异或 二、赋值运算符 (1)赋值运算符介绍 (2)赋值运算符分类 (3)赋值运算符特点 总结 ---- 前言 了解 逻辑运算符 和 赋值运算符 的基础知识。 )逻辑或(|):当 a 和 b 有一个为 true 时,结果为 true , 否则为 false 4)短路或(||):当 a 和 b 有一个为 true 时,结果为 true , 否则为 false 5) false 2)对于短路或来说,如果第一个条件为 true ,则后面的条件不会在判断,结果为 true 对于逻辑或来说,如果第一个条件为 true ,则后面的条件也会继续判断,结果为true (5) if((5 < 10)^ (10 > 100)) { System.out.print("正确"); } else { System.out.print("错误"); }
import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.util.HashMap ; import java.util.Map; import java.util.concurrent.locks.ReentrantLock; import org.apache.commons.logging.Log ; import org.apache.commons.logging.LogFactory; //import sun.security.provider.MD5; /** * 简单计算MD5 * * (); private MD5Utils(){ try { mHasher = MessageDigest.getInstance(“md5”); } catch (Exception e) { hash(content); } /** * 对字符串进行md5 * * @param str * @return md5 byte[16] */ public byte[] hash(String
2.2 引用类型使用步骤 导包 使用import关键字导包,在类的所有代码之前导包,引入要使用的类型,java.lang包下的所有类无需导入。 格式: import 包名.类名; 举例: java.util.Scanner; 创建对象 使用该类的构造方法,创建一个该类的对象。 格式: 变量名.方法名(); 举例: int i = sc.nextInt(); // 接收一个键盘录入的整数 2.3 Scanner使用步骤 查看类 java.util.Scanner:该类需要import 2.4 练习 求和 键盘录入两个数据并求和,代码如下: import java.util.Scanner; public class Test01Scanner { public static 格式: new 类名(参数列表); 举例: new Scanner(System.in); 应用场景 1.创建匿名对象直接调用方法,没有变量名。
StringBuilder sb4 = new StringBuilder("abcdefghijklmnopqrstuvwxyz"); sb.delete(3, 5) .delete(3, 5); //结果:abchijklmnopqrstuvwxyz System.out.println(sb); sb.reverse(); 时间处理相关类 ? Date时间类(java.util.Date) 在标准Java类库中包含一个Date类。它的对象表示一个特定的瞬间,精确到毫秒。 } catch (ParseException e) { e.printStackTrace(); } } } Calendar日历类 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar
本文链接:https://blog.csdn.net/weixin_42528266/article/details/102961917 基本数据类型的包装类 为什么需要 包装类(Wrapper Class JAVA并不是纯面向对象的语言。Java语言是一个面向对象的语言,但是Java中的基本数据类型却 是不面向对象的。但是我们在实际使用中经常需要将基本数据转化成对象,便于操作。比如: 集合的操作中。 包装类均位于java.lang包,包装类和基本数据类型的对应关系: ? 包装类的作用: 提供:字符串、基本类型数据、对象之间互相转化的方式! indexOf('y')); String s = str3.substring(0); System.out.println(s); String str5 = str3.replace('e', '*'); System.out.println(str5); String str6 = "abcde,rrtt,cccee"
至于基本类型,难点不多,我们不在叙述了,这次我们讲 另一种类型 --- 封装类型 ---- Java 有 8 种基本类型,每种基本类型都有一个对应的包装类型. 包装类又是啥呢? 包装类指的是 Java 的类,内部有实例变量,保存了与之相对应的基本类型的值,这些类有类方法,类变量和其他的实例方法. ---- Integer 对于包装类来说,我们经常用到的一个就是自动装箱和拆箱,当然由于 Java 编译器的问题,不需要我们手动来操作,不过这里给大家顺便解释下 基本类型到包装类型的过程,我们一般称之为装箱 所以 r = 55 - (5 * 10) = 5 // 下面用位移运算是因为在 计算机的计算中,位移运算的效率极快 r = i - ((q << 3 进行赋值 为 -5 * 第二次 digit = 55 / 10 = 5 , result *= radix;==> result 为-5, 所以 -5 *=
本文链接:https://blog.csdn.net/weixin_42528266/article/details/103275354 3.1 什么是Random类 此类的实例用于生成伪随机数。 例如,以下代码使用户能够得到一个随机数: Random r = new Random(); int i = r.nextInt(); 3.2 Random使用步骤 查看类 java.util.Random 查看成员方法 public int nextInt(int n) 返回一个伪随机数,范围在[0,n) 之间的int 值 使用Random类,完成生成3个10以内的随机整数的操作,代码如下: ?
为了解决这个问题,Java提供了另一个容器java.util.ArrayList 类,让我们可以更便捷的存储和操作对象数据 4.2 什么是ArrayList类 java.util.ArrayList 是大小可变的数组的实现 4.3 ArrayList使用步骤 查看类 java.util.ArrayList<E> 该类需要 import导入使后使用。 <E> 表示一种指定的数据类型,叫做泛型。 使用ArrayList类,存储三个字符串元素,代码如下: public class Test02StudentArrayList { public static void main(String[]
Scanner 类的作用是用来获取用户的输入 前提: import java.util.Scanner; 创建文件扫描器对象,System.in表示的是标准输入 (装饰者模式????
Java基础系列文章 Java基础(一):语言概述 Java基础(二):原码、反码、补码及进制之间的运算 Java基础(三):数据类型与进制 Java基础(四):逻辑运算符和位运算符 Java基础(五) :流程控制语句 Java基础(六):数组 Java基础(七):面向对象编程 Java基础(八):封装、继承、多态性 Java基础(九):Object 类的使用 Java基础(十):关键字static、代码块 、关键字final Java基础(十一):抽象类、接口、内部类 Java基础(十二):枚举类 Java基础(十三):注解(Annotation) Java基础(十四):包装类 Java基础(十五):异常处理 Java基础(十六):String的常用API Java基础(十七):日期时间API Java基础(十八):java比较器、系统相关类、数学相关类 Java基础(十九):集合框架 Java基础(二十) :泛型 Java基础(二十一):集合源码 Java基础(二十二):File类与IO流 Java基础(二十三):反射机制 Java基础(二十四):网络编程 Java基础(二十五):Lambda表达式、方法引用