java支持单继承,使用关键字extends 语法: 子类 extends 父类 例:定义一个Animal类,再创建一个Dog类,继承Animal类。 在java中,每一个类都默认具有null、this、super三个域,因此在任何类中都可以直接引用。 3.多态体现为父类引用变量可以指向子类对象。 4.前提条件:必须有子父类关系。 注意:在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。 ,否则这个也是抽象类 4、抽象类是重构的结果 例 abstract class Animal{ abstract void shout();//抽象方法没有方法体! 2、抽象类要被子类继承,接口要被类实现。 3、接口所有的方法都是抽象方法,抽象类中可以可以有抽象方法也可以有实例方法。 4、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。
描述一个整数数据 语法:数据直接使用数字表示 如:weight = 80 (3)浮点数(float):描述一个小数 语法:数据直接使用数字表示,可以包含一个小数点 如:height = 1.78 (4) "后羿","马超","安琪拉","李白"] print(heros) #增删改查 #查询列表 #通过索引进行查询,凡是叫索引都是从0开始 print(heros[0])#刘备 print(heros[4] 马超'],类型为list,理解为大list变为小list #从索引1开始到最后 print(heros[1:5]) print(heros[1:]) #从第一个索引,到最后 print(heros[0:4] ) print(heros[:4]) 列表增加 #增加 #追加与插入 #追加:从最后添加,位置和内容,默认最后添加 heros=["刘备","后羿","马超","安琪拉","李白"] heros.append ,"安琪拉","李白"] 列表删除 heros=["刘备","后羿","马超","安琪拉","李白"] del heros[3] print(heros)#["刘备","后羿","关羽","李白"] 4.
昨天后台的一个小伙伴提到了,java里面的匿名类,这个概念在平常java码代码的时候用的特别多,所以找了一篇介绍表述比较清晰的文章分享给大家,能极大的简化代码量,是java编码基本功,属于必须掌握的范畴 然后实现了Child的一个实例,将其向上转型为Person类的引用 但是,如果此处的Child类只使用一次,那么将其编写为独立的一个类岂不是很麻烦? ,那么其子类中的方法都可以使用匿名内部类来实现 最常用的情况就是在多线程的实现上,因为要实现多线程必须继承Thread类或是继承Runnable接口 实例4:Thread类的匿名内部类实现 public System.out.print(i + " "); } } }; t.start(); }} 运行结果:1 2 3 4 i++) { System.out.print(i + " "); } } }; Thread t = new Thread(r); t.start(); } } 运行结果:1 2 3 4
Java基础类库 使用Scanner获得键盘输入: public class ScannerKeyBoardTest { public static void main(String[] args "; String s4 = "Java"; // s3和s4是相同的字符串对象,所以它们的identityHashCode值相同 System.out.println Java7新增的Objects类: public class ObjectsTest { // 定义一个obj变量,它的默认值是null static ObjectsTest obj; 为了避免程序中对于double运算的繁琐,可以以BigDecimal基础定义一个Arith工具类: public class Arith { // 默认除法运算精度 private static Java 8专门新增了一个java.time包,该包下包含了如下常用类: Clock、Duration、LocalDate、LocalTime、LocalDateTime、MonthDay、Year、
类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。 类的定义 [修饰符] class 类名{ } 定义类的注意: (1)如果类使用了public 修饰符 必须保证当前的文件名和当前类相同 (2) 类名使用名称表示 类表示某一类事物 首字母大写 public 一个引用变量没有通过new分配内存空间,这个对象就是空对象,Java使用关键字null表示空对象。 当调用一个空对象的实例变量或实例方法时,会抛出空指针异常NullPointException String str = null; System.out.println(str.length());//java.lang.NullPointerException 当一个对象被创建后,对象保存在堆内存中,Java程序不允许直接访问堆内存的对象,不管是数组还是对象,当程序访问引用变量的成员值或者方法时,实际上是访问引用变量的所指向的数组或者对象的成员变量或者方法。
面试官:Java的容器类你有什么了解吗? -:额,没有用过.... 面试官:你肯定用过,但你没有注意过.... -:应该是吧.... 你知道什么是容器类吗? Java容器可以说是增强程序员编程能力的基本工具,本文将与您一起理解容器类,看完之后你也许会恍然大悟,这原来就是容器类啊,一起避免面试时的尴尬!!!! 数组显然只能创建固定长度的对象,为了使程序变得更加灵活与高效,Java类库提供了一套完整的容器类,具备完善的方法来解决上述问题。 2.容器的类别 ? 容器中的七大接口 1.Collection接口 2.Map接口 3.Set接口 4.List接口 5.Queue接口 6.Iterator接口 7.Comparable接口 其中List 4.
1)算术运算符的介绍 (2)算术运算符的分类 (3)算术运算符的使用细节 三、关系运算符 (1)关系运算符介绍 (2)关系运算符分类 (3)关系运算符细节 总结 ---- 前言 掌握基础的算数运算符和关系运算符 j = ++i i = 6 ,j = 5 i = 6 ,j=6 -- 自减: 分为自减在前和 自减在后两种 i = 5 ;j = i-- i = 5 ;j = --i i = 4 ,j = 5 i = 4 ,j=4 (3)算术运算符的使用细节 1)自增自减运算符都作为独立的语句使用,前++(--)和后++(--)都完全等价于 i = i + ( - ) 1 ;
上次提前说了java中的面向对象,主要是为了使用这些常见类做打算,毕竟Java中一切都是对象,要使用一些系统提供的功能必须得通过类对象调用方法。 数组 java中数组的定义如下: int[] Array1 = new int[10]; //定义了一个拥有10个整型数据的数组 int[] Array2 = new int[]{1, 2, 3, 4, 5, 6, 7,8, 9, 0}; //创建数组并初始化 int[] Array3 = {1,2 ,3,4,5,6,7,8,9,0}; 相比于C中数组的定义来说,Java中的定义更容易让人理解,对应数据类型后面加一对 ArrayList类 之前在数组中,我们说数组一旦定义,是不能改变大小的,那么如果我后续需要使用可变大小的数组呢?Java中提供了ArrayList这样的容器。 super E> c); //使用提供的 Comparator对此列表进行排序 键盘输入 Java中的键盘输入主要通过Scanner类来实现,Scanner需要提供一个输入流,从输入流中获取输入。
---- 上一篇内容:Java基础:Java流程控制 下一篇内容:Java基础:Java面向对象 更多知识学习:全网最全的 Java 技术栈内容梳理(持续更新中) ---- 文章目录 一、面向对象程序设计概述 4、注意事项 四、内部类 1、内部类概念 2、内部类的分类 ---- 一、面向对象程序设计概述 面向对象程序设计(简称OOP)是当今主流的程序设计范型,它已经取代了20世纪70年代的“结构化”过程化程序设计开发技术 Java是完全面向对象的,必须熟悉OOP才能够编写Java程序。面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。 1、类 类(class)是构造对象的模板或蓝图。 标准的 Java 库提供了几千个类,可以用于用户界面设计、日期、日历和网络程序设计。尽管如此,还是需要在 Java 程序中创建一些自己的类,以便描述应用程序所对应的问题域中的对象。 是调用父类的构造方法, 且两条语句不能同时存在 4、注意事项 每一class类都必须有一个构造方法,如果自己不写,编译的时候,系统会给出默认构造方法; 构造方法也是可以重载的; 在创建对象时,会调用与参数列表对应的构造方法
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架。 4、当使用static修饰一个方法时,表明这个方法属于该类本身,即通过类就可调用该方法,但如果该方法被定义成抽象方法,则将导致通过该类来调用该方法时出现错误(调用了一个没有方法体的方法肯定会引起错误)。 抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会大致保留抽象类的行为方式。 Java9对接口进行了改进,允许在接口中定义默认方法和类方法,默认方法和类方法都可以提供方法实现,Java9为接口增加了一种私有方法,私有方法也可提供方法实 定义: 和类定义的不同,定义接口不再使用class 一个类最多只能有一个直接父类,包括抽象类;但一个类可以直接实现多个接口,通过实现多个接口可以弥补Java单继承的不足。
转眼间我们已经工作完一周了,这周开始阿Q要不定时更新知识了,先让我们来学习一下java中的Object与string类吧。 Object类 API:Application Programming Interface 应用程序编程接口,Java API就是Java提供给我们使用的类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的 Object:所有类都直接或者间接的继承自Object类,是类层次结构的根类、 public int hashCode() 返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。 //打印出:cde char[] arr3 = {'a','b','c','d','e'}; //将字符数组转换成字符串 String s4 = new String(arr3); System.out.println(s4); //打印出:abdcde String s5 =
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表达式、方法引用
在 Java 中,这个“根”就是 Object 类。 Object 类中包含有: toString() equals() 两个方法,前者可以打印对象的信息(可以在子类中具体实现);后者判断是否管理着同一个对象 (默认实现为 ==) 。 比如,要实现只要 CD 类中 artist 成员相同,equals()就返回 true,需要这样写: @Override public boolean equals(Object obj) {
,而字 符串应用又非常广泛,因此Java语言专门提供了 String 类。 System.out.println(s6 == s4); //true s4与s5对象的地址值是不一样的,所以是false,在将s6的地址传给s4,再次比较此时,输出的就是true。 2.内容比较 在String重写了Object类的equals方法后,就大大简化了我们的比较过程 比较代码如下: String s4 = new String("hello"); ); System.out.println(str.substring(0, 5)); 输出结果: hello world 注意:在java 3.总结 String类的方法小编在这里列举了很多,如果还有,希望各位uu在评论区提出宝贵意见。 制作不易,麻烦给小编一个小小的赞吧。
:流程控制语句 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表达式、方法引用 Integer obj2 = Integer.valueOf(4);//使用包装类中的valueOf方法 2、拆箱 拆箱:把包装类对象拆为基本数据类型 转为基本数据类型,一般是因为需要运算,Java
在Java语言中,方法大多用于处理一些数据并得到结果,其包括以下几种要素: 修饰符:用于限定方法的权限,常用的有public、private、static。 方法的重载 Java语言规定,在同一个类中,允许出现同名的方法,只要方法的参数列表不同即可,这就是方法的重载。 参数列表不同,指的是个数、顺序或数据类型不同。 方法的重写 Override 子类中如果出现了与父类一模一样的方法时,子类会重写父类的方法。方法声明要与父类相同,而且修饰权限不能比父类更低。 此处内容在后期讲解继承的时候会再次详解。 类 类是什么?生活中的解释就是由一些具有共同特征的个体组成的一个群体,比如人类。在Java中也是如此,更加专业的说法是描述一类对象的行为和状态。 在Java语言中存在一些提前由jdk开发者定义好的类,我们可以直接导入调用,比如String等等。当然,我们也可以自定义类。 自定义类即是对现实中事物的描述,描述事物的属性方法。
本文链接:https://blog.csdn.net/weixin_42528266/article/details/102971807 Math类 包含了常见的数学运算函数。 (枚举实质上还是类!而每个被枚举的成 员实质就是一个枚举类型的实例,他们默认都是public static final的。可以直接通过枚举 类型名直接使用它们。) 强烈建议当你需要定义一组常量时,使用枚举类型 尽量不要使用枚举的高级特性,事实上高级特性都可以使用普通类来实现,没有必要引 入复杂性! File类 文件和目录路径名的抽象表示形式。 f4 = new File(f2,"TestFile666.java"); File f5 = new File("d:/src3/aa/bb/cc/ee/ddd"); f5.mkdirs(); //f4.createNewFile(); // f4.delete(); if(f.isFile()){ System.out.println
本文链接: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以内的随机整数的操作,代码如下: ?
Scanner 类的作用是用来获取用户的输入 前提: import java.util.Scanner; 创建文件扫描器对象,System.in表示的是标准输入 (装饰者模式???? System.out.println("添加用户信息"); Scanner sc = new Scanner(System.in); System.out.println("请输入会员号码(4为整数 System.out.println("请输入会员积分"); String score = sc.nextLine(); if(number.length()==4)
为了解决这个问题,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[] for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } } 对象添加到集合 自定义4个学生对象