Java
小东子李
学习Java,大数据云计算,最近一直在阿里云上学习。
展开
-
复习第十一天
1. 什么是多态性?什么是虚拟方法调用?对象的多态性:父类的引用指向子类的对象。Person p = new Man();p.eat();调用方法时,编译时看左边,运行时看右边。2. 一个类可以有几个直接父类?(只有一个)一个父类可有多少个子类?(多个)子类能获取直接父类的父类中的结构吗?(可以)子类能否获取父类中private权限的属性或方法?(可以的)A is a B3. 方法的重写(override/overwrite)的具体规则有哪些?方法名、形参列表相同权限修饰符返回值抛出原创 2021-09-12 22:21:21 · 131 阅读 · 0 评论 -
复习第十天
1. 构造器的作用是什么?使用中有哪些注意点(>=3条)①创建对象 ②初始化对象结构2. 关于类的属性的赋值,有几种赋值的方式。谈谈赋值的先后顺序默认初始化-显式初始化-构造器中初始化-对象.方法 或 对象.属性 给属性赋值3. this关键字可以用来调用哪些结构,简单说明一下其使用。this:属性、方法、构造器this:理解为当前对象,当前正在创建的对象4. Java中目前学习涉及到的四种权限修饰符都有什么?并说明各自的权限范围private int age;private voi原创 2021-09-09 21:13:36 · 166 阅读 · 0 评论 -
复习第九天
1. 什么是方法的重载?“两同一不同”:同一个类、相同方法名;参数列表不同。如何调用确定的方法:方法名参数列表2. 说明Java方法中的参数传递机制的具体体现?基本数据类型:数据值引用数据类型:地址值 (含变量的数据类型)Person p1 = new Person(); eat();ageUser u1 = p1;//编译错误 (逆向思维、反证法)u1.eat() u1.age3. 成员变量和局部变量在声明的位置上、是否有默认初始化值上、是否能有权限修饰符修饰上、内存分配的原创 2021-09-09 21:10:43 · 79 阅读 · 0 评论 -
复习第八天
1. 面向对象思想编程内容的三条主线分别是什么① 类及类的成员:属性、方法、构造器;代码块、内部类② 面向对象的三大特征:封装、继承、多态③ 其它关键字:this,super,abstract,interface,static,final,package,import面向对象的编程思想?(类、对象;面向对象的三大特征;。。。)2. 谈谈你对面向对象中类和对象的理解,并指出二者的关系?类:抽象的、概念上的内容对象:实实在在存在的一个个体。对象是由类派生出来的。3. 面向对象思想的体现一:类原创 2021-09-09 21:08:32 · 76 阅读 · 0 评论 -
复习第七天
1.使用冒泡排序,实现如下的数组从小到大排序。 int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};for(int i = 0;i < arr.length - 1;i++){ for(int j = 0;j < arr.length - 1 - i;j++){ if(arr[j] > arr[j + 1]){ int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = te原创 2021-09-09 21:03:50 · 65 阅读 · 0 评论 -
复习第六天
1.写出一维数组初始化的两种方式int[] arr = new int[5];//动态初始化String[] arr1 = new String[]{“Tom”,“Jerry”,“Jim”};//静态初始化数组一旦初始化,其长度就是确定的。arr.length数组长度一旦确定,就不可修改。2.写出二维数组初始化的两种方式int[][] arr = new int[4][3];//动态初始化1int[][] arr1 = new int[4][];//动态初始化2int[][] arr2 =原创 2021-09-09 20:59:49 · 69 阅读 · 0 评论 -
复习第五天
循环结构是如何最后退出循环的,有哪些不同的情况请说明。① 循环条件返回false② 在循环体内,一旦执行到break,跳出循环continue;return2.指出如下程序输出的结果:label: for (int i = 1; i <= 4; i++) { for (int j = 1; j <= 10; j++) { if (j % 4 == 0) { continue label; } System.out.print(j); }.原创 2021-09-09 20:57:49 · 68 阅读 · 0 评论 -
复习第四天
1.switch后面使用的表达式可以是哪些数据类型的。byte 、 short 、char 、int 、枚举类型变量、String类型。使用switch语句改写下列if语句: int a = 3; int x = 100; if(a==1) x+=5; else if(a==2) x+=10; else if(a==3) x+=16; else x+=34;int a = 3;int x = 100;switch(a){case 1:原创 2021-09-08 21:45:46 · 103 阅读 · 0 评论 -
复习第三天
“&”和“&&”的异同相同点:&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true。否则,只要有一方为false,则结果为false。区别:&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式2.程序输出class OperatorTest { public static void main(String[] args) { bool.原创 2021-09-08 21:41:23 · 101 阅读 · 0 评论 -
复习第二天
标识符的命名规则有哪些? 不遵守,编译不通过。标识符的命名规范有哪些?不遵守,编译运行都可以通过包名:xxxyyyzzz类名、接口名:XxxYyyZzz变量名、方法名:xxxYyyZzz常量名:XXX_YYY_ZZZJava变量按照数据类型怎么划分?并指出Java的基本数据类型有哪8种,并指出各自占用的内存空间大小byte short int longcharfloat doubleboolean引用数据类型:类、接口、数组说明基本数据类型变量之间自动类型提升的运..原创 2021-09-08 21:32:48 · 87 阅读 · 0 评论 -
复习第一天
JDK,JRE,JVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些JDK = JRE + Java的开发工具(javac.exe,java.exe,javadoc.exe)JRD = JVM + Java核心类库2.为什么要配置path环境变量?如何配置?JAVA_HOME = bin的上一层目录path = %JAVA_HOME%\bin3.常用的几个命令行操作都有哪些?(至少4个)cdmdrddelcd…cd/4.创建如下的类,使得运行的话可以输出:创建java.原创 2021-09-08 21:28:19 · 46 阅读 · 0 评论 -
JDK 和 JRE JVM == 和 equals
Flume一.Flume框架二.Flume拓扑1.Flume Agent连接2.单source,多channel,sink3.Flume负载均衡4.Flume Agent聚合原创 2021-07-21 21:35:22 · 140 阅读 · 2 评论 -
循环控制语句
1. Java 有没有 goto 语句?goto 是 Java 中的保留字,在目前版本的 Java 中没有使用。根据 James Gosling(Java 之父)编写的《The JavaProgramming Language》一书的附录中给出了一个 Java 关键字列表,其中有 goto 和 const,但是这两个是目前无法使用的关键字,因此有些地方将其称之为保留字,其实保留字这个词应该有更广泛的意义,因为熟悉 C 语言的程序员都知道,在系统类库中使用过的有特殊意义的单词或单词的组合都被视为保留字原创 2021-07-21 21:11:38 · 88 阅读 · 0 评论 -
深拷贝和浅拷贝
深拷贝和浅拷贝上面的示例代码中,Person 中有两个成员变量,分别是 name 和 age, name 是 String 类型, age 是 int 类型。代码非常简单,如下所示:1.public class Person implements Cloneable{2.privatint age ;3. private String name;4. public Person(int age, String name) {5. this.age = age;6. this.name = n原创 2021-07-21 21:02:54 · 79 阅读 · 0 评论 -
访问权限修饰符
publicpublic:共有的,是访问权限限制最宽的修饰符。被public修饰的类、属性、及方法不仅可以跨类访问,而且可以跨包访问。protectedprotected:保护访问权限,是介于public和private之间的一种访问修饰。被protected修饰的属性及方法只能被类本身的方法和子类访问。(子类在不同的包中也可以访问)defaultdefault:默认的,不加任何访问修饰符。常被叫做“默认访问权限”或者“包访问权限”。无任修饰符时,只支持在同一个包中进行访问。privatepr原创 2021-07-21 20:57:30 · 59 阅读 · 0 评论 -
Java面试题
1.总结,lsit集合,set集合特性。List List集合代表一个元素有序、可以重复的集合,集合中每个元素都有对应的顺序索引。List集合允许加入重复的元素是因为它是通过索引访问指定的集合元素。List元素默认按元素的添加顺序设置元素的索引。 除了具有Collection接口必备的iterator()方法外,List还提供一个listIterator()方法,返回一listIterator接口和标准的Iterator接口相比,listIterator多了一些add()之类的方法,允许添加,删除原创 2021-07-21 20:50:02 · 85 阅读 · 0 评论 -
文件存储 HDFS中SDK示例
文件存储 HDFS中SDK示例本文列出了创建目录、删除目录、上传文件、下载文件、显示目录、写入文件,读取文件、测试等操作的SDK示例,您可以参考示例工程开发您的应用。准备工作已完成文件存储HDFS的配置已安装SDK在计算节点上安装JDK,版本不能低于1.8。在计算节点上安装hadoop,版本建议不低于2.7.2。配置maven的依赖配置。 <dependency> <groupId>org.apache.hadoop</groupI原创 2021-05-27 11:54:10 · 901 阅读 · 32 评论 -
基于阿里云的API简介
基于阿里云的API简介API简介如果您熟悉网络服务协议和一种以上编程语言,推荐您调用API管理您的云上资源和开发自己的应用程序。使用说明ECS API支持HTTP或者HTTPS网络请求协议,允许GET和POST方法。您可以通过以下方式调用ECS APIOpenAPI开发者门户示例Java SDK示例示例代码中的下列参数需要您根据实际情况自行填写。:您的AccessKeyId。获取方式请参见创建AccessKey。:您的AccessKeySecret。:ECS实例所在的地域ID。取值请原创 2021-05-26 16:36:39 · 2812 阅读 · 28 评论 -
有效的括号
有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例 5:输入:s = "{[]}"输出:trueclass Solut原创 2021-05-17 07:42:33 · 87 阅读 · 2 评论 -
有效的括号
有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例 5:输入:s = "{[]}"输出:trueclass Solut原创 2021-05-12 14:09:48 · 76 阅读 · 0 评论 -
最长公共前缀
最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。class Solution { public String longestCommonPrefix(String[] strs) { if(strs.len转载 2021-05-12 14:05:49 · 53 阅读 · 0 评论 -
罗马数字转整数
罗马数字转整数罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + I转载 2021-05-12 14:01:23 · 57 阅读 · 0 评论 -
回文数
回文数给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数。原创 2021-05-12 13:56:19 · 77 阅读 · 0 评论 -
整数反转
整数反转给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321示例 3:输入:x = 120输出:21示例 4:输入:x = 0输出:0代码class Solution { public int reve原创 2021-05-12 13:48:11 · 64 阅读 · 0 评论 -
继承
继承的实现在Java中要实现继承关系,就要依靠extends关键字完成class 子类 extends 父类子类称为派生类父类称为超类(SuperClass)子类扩充子类对象实例化流程super()表示的就是子类构造调用父类构造的语句,该语句只允许放在子类构造方法的首行。在默认情况下的实例化处理,子类只会调用父类中的无参构造方法。super 和 this 都可以调用构造方法,super 是由子类调用父类的构造,this是调用本类的构造,都安放在构造方法首行,不允许同时出现。继承的相关原创 2021-05-11 11:05:22 · 52 阅读 · 0 评论 -
设计模式--分类与六大原则
1.设计模式分类简介: 设计模式(Design Pattern)是一整套被反复使用,多数人知晓的,经过分类编目的代码设计经验的总结。设计模式(Design Pattern)是一整套被反复使用,多数人知晓的,经过分类编目的代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解,保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。创建型模式共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模原创 2021-05-11 09:36:00 · 49 阅读 · 0 评论 -
类、接口和类图
类、接口和类图1. 类类(Class)是指具有相同属性、方法和关系的对象的抽象,它封装了数据和行为,是面向对象程序设计(OOP)的基础,具有封装性、继承性和多态性等三大特性。在 UML 中,类使用包含类名、属性和操作且带有分隔线的矩形来表示。(1) 类名(Name)是一个字符串,例如,Student。(2) 属性(Attribute)是指类的特性,即类的成员变量。UML 按以下格式表示:[可见性]属性名:类型[=默认值]例如:-name:String注意:“可见性”表示该属性对类外的元素是否可原创 2021-05-11 09:22:55 · 3867 阅读 · 0 评论 -
引用传递
引用传递**一、继承关系 **继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字 extends明确标识,在设计时一般没有争议性。在UML类图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父类,或者子接口指向父接口。泛化关系泛化(Generalization)关系是对象之间耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系,是 is-a 的关系。在 UML 类图中,原创 2021-05-11 09:18:32 · 544 阅读 · 0 评论 -
String类
String类字符串严格意义上讲不算是基本的数据类型,没有任何语言提供字符串这种数据类型,在 Java中为了方便开发者的编写,所以利用其JVM的支持制造了一个可以简单使用的String类,可以像基本数据类型一样赋值。String所以的字符串是保存在一个定义好的数组中。数组赋值构造方法...原创 2021-05-11 08:53:03 · 63 阅读 · 0 评论 -
数据表与简单Java类的映射转换
数据表与简单Java类的映射转换数据表与简单Java类的基本映射关系:*数据实体表设计 = 类的定义;*表中的字段 = 类的成员属性;*表的外键关联 = 引用关联;*表的一行记录 = 类的一个实例化对象;*表的多行记录 = 对象数组。简单Java类第一步:基本实体类的属性第二步:配置关联字段实际项目开发:第一步:根据表的结构关系进行对象的配置;第二步:根据要求通过结构获取数据。...原创 2021-05-06 09:45:55 · 133 阅读 · 0 评论 -
数组的定义与使用
数组的定义与使用1.数组的基本概念在程序开发之中考虑到一组变量的整体维护。专门提供有数组的概念,数组的本质在于:引入了一组相关变量的集合。在Java中将数组定义为了引用数据类型,所以数组的使用一定牵扯到内存分配,使用new关键字。数组的动态初始化-声明并初始化数组:-数据类型 数组名称 [] = new 数据类型 [长度] ;-数据类型 [] 数组名称 = new 数据类型[长度];数组的静态初始化:在数组定义的时候设置好了里面的内容-数据类型 数组名称 [] = ne原创 2021-05-04 08:43:53 · 158 阅读 · 0 评论 -
代码块
代码块在程序之中使用“{}”定义的结构就叫代码块,而后根据代码块出现的位置以及定义的关键字的不同。代码块可以分为:普通代码块,构造代码块,静态代码块,同步代码块1.普通代码块定义在一个方法中的pubilc class javaDemo{ public static void main (String args[]){ { int x = 10 ;//局部 System.out.println("x = " + x );原创 2021-05-01 08:46:17 · 99 阅读 · 2 评论 -
static定义属性
static定义属性static是一个关键字,用来定义属性和方法。在一个类中,所以的属性一但定义了,实际上内容都交各自的堆内存空间所保存。class Person{ //创建所以同一个国家类private String name;private int age ;static String country;//国家,暂时不封装,static静态全局变量public Person(String name ,int age){this.name = name ;this.age = age原创 2021-04-30 09:37:00 · 288 阅读 · 0 评论 -
类和对象中属性和成员变量,成员方法的关系
类和对象中属性和成员变量,成员方法的关系1,成员变量在 Java 语言中对象的属性以成员变量的形式存在,对象的方法以成员方法的形式存在。在 Java 中对象的属性也称为成员变量。为了了解成员变量,首先定义一个图书类,成员变量对应于类对象的属性,在 Book 类中设置 3 个成员变量,分别为 id、name 和 category,分别对应于图书编号、图书名称和图书类别 3 个图书属性。例子:创建 Book 类,在该类中定义并使用成员变量public class Book {private Stri原创 2021-04-30 09:35:44 · 1194 阅读 · 0 评论 -
简单Java类
**简单Java类**对于简单Java类而言,其核心的开发结构如下:1,类名称一定要有意义,可以明确的描述某一类事物;如一个人,一本书。2,类之中所以属性都必须使用private进行封装,同时封装后的属性必须提供有setter.getter方法:3,类之中可以提供有无数多个构造方法,但是必须保留有无参构造方法;4,类之中不允许出现任何的输出语句,所以内容的获取必须返回;5,【非必须写】可以提供一个获取对象详细信息的方法,暂时将次方法定义为getInfo;class Dept{ //类原创 2021-04-30 08:11:39 · 77 阅读 · 0 评论 -
this关键字
this关键字三类结构的描述:1,当前类中的属性:this.属性;2,当前类中的方法(普通方法,构造方法):this(),this.方法名称();3,描述当前方法;1,当前类中的属性:this.属性;利用setter或者是构造方法都可以进行属性的赋值,现在可以用thisclass Person{private String name;private int age;public Person(String name ,int age){this.name = name;this.age原创 2021-04-29 10:28:13 · 48 阅读 · 0 评论 -
构造方法和匿名对象
构造方法和匿名对象1,声明并实例化对象,这时候实例化对象中的属性没有任何数据2,需要通过setter方法为类中属性设置内容。传统实例化对象class Person{ //定义一个类 private String name; //人员的姓名 private int age ; //人的年龄 public void tell(){ System.out.println("姓名:" + name + ",年龄:" + age); public void原创 2021-04-29 09:40:42 · 79 阅读 · 0 评论 -
Java对象和类
Java对象和类目录一、概述二、Java中的对象1. 创建对象2. 实例三、java中的类1.变量2. 构造方法一、概述对象和类的概念。 对象,对象是类的一个实例,有属性和行为,比如,一个人是一个对象,它的属性有颜色,名字,身高,体重;行为有:学习,睡觉,吃饭等 类,类是一个集合,它描述一类对象的行为和属性的共性。二、Java中的对象万物皆对象对象也有状态和行为,对象的状态就是属性,行为通过类方法体现。在软件开发中,类方法操作对象内部状态的改变,对象相互调用也是通过类方法来完成。1.原创 2021-04-21 11:37:04 · 95 阅读 · 2 评论 -
成员属性封装
成员属性封装在类之中的组成就是属性与方法,一般而言方法都是对外提供服务的,所以不会进行封装处理,而对于属性由于需要较高的安全性,所以需要保护,进行采用封装对属性保护。class Person{ //定义一个类 String name; //人员的姓名 int age ; //人的年龄 public void tell(){ System.out.println("姓名:" + name + ",年龄:" + age); } }原创 2021-04-28 10:24:42 · 114 阅读 · 0 评论 -
方法的递归调用
方法的递归调用一个方法自己调用自己的情况,利用递归调用解决一些重复的麻烦。A, 一定要设置方法递归的结束条件B,没一次调用的过程中一定要修改传递的参数条件方法的调用: 方法名(参数) -->执行方法中的代码 1.直接调用 方法名(实际参数) -->无法使用返回值 2.赋值调用 3.输出调用 System.out.println(getPI()); 2.没有返回值类型的方法1到100的求和递归public class JavaDemo{ public stati原创 2021-04-28 08:40:01 · 122 阅读 · 1 评论