java数组转换成string_java面试复习重点:类的管理及常用工具,教你抓住面试重点

java复习: 类的管理及常用工具类

  • 写在程序文件的第一行
  • 一个Java 源文件中只能声明一个包,
    且声明语句只能作为源文件的第一条指令
  • 导入类能导入非public类,但是不能用因为在其他包缺省的权限用不了
package Testp;import Testpackage.*;public class C {public static void main(String[] args) {A a=new A();B b=new B();}}//Testpackage.*只能导入
eea62822c12b5f1660c62d3ecf14fc43.png
  • 此时不将AB两类放在同一个.class文件不然有一个一定是非public类,C等下用不了这个非public
  • 注意.*是对于包来说的,当把AB分成两个class文件时就可以两个全部导入了
  • Java编译器为所有程序自动导入包 java.lang
  • 无名包不能导入.* 无名包中的类无法被导入
  • 静态导入的时候如果是import aa.;可以导入类的所有成员包括静态,如果是import static aa.A.;是导入A中的所有静态成员,非静态的就会报错,所以可以将A的所有成员改成静态的
  • 一个class文件(.java)只能有一个pubic类如果一个包里面有多个public类即创建多个class文件

包装器类

  • Byte 、Short 、Integer 、Long 、Float 、Double 、
    Character 、Boolean
  • 包装器类的2种构造函数包装器类名(基本类型值)包装器类名(基本类型值的字符串)Character类构造函数只能是字符参数;Boolean包装器对ture/false不区分大小写
  • 例子:
float f=(new Double(100.2)).floatValue();int i=(new Double("100.2").intValue());//XXXvalue():包装器类-基本类型float f=Float.parseFloat("11.3f");int d=Integer.parseInt("25");//字符串-基本类型Double d=Double.valueof("25.4");//Character包装器类没有这个方法//字符串-包装器//基本类型、包装器类型-字符串String s1=Double.toString(3.14);//toString有静态方法也有实例方法String s2=new Double(3.14).toString()
  • 注意传参数时候,不如果参数是包装器类不能直接传一个基本类型此时不支持自动装箱拆箱
  • 要用构造函数自动装箱Double a=1.2;// Double a=new Double(1.2); 自动装箱double b= a ; //自动拆箱

枚举

  • enum枚举类型名字{枚举常量列表}
public class Ch_5_5_2 {enum Season {  春季,  夏季,  秋季,  冬季; }public static void main (String[] args) {Season [] s= Season.values();for (int i=0; i

数组的高级应用

  • 要导入import java.util.Arrays;
  • 排序方法和binarySearch前提是数组不能为降序可以是无序或者升序
  • int i=Arrays.binarySearch(a1,3);返回3这个元素出现第一次的下标
  • Arrays.fill(c,4); 将数组c填充满4

字符串的高级应用

  • StringBuilder:线程不同步不安全但执行效率更高
  • StringBuffer

正则表达式

  • 正则匹配步骤:
Pattern p=Pattern.compile(reg1);//reg1为模式串正则表达式Matcher m=p.matcher(str);//str是待匹配串m.group();m.find;m.start()
  • String[ ] split(String regex)
    regex 是分隔串,也可以是正则表达式
    作用:分割字符串,生成数组
String s="aa,bb,cc,dd";String[] sa=s.split(","); //以 , 作为s的分隔串,提取字符串for(String s1:sa)System.out.println(s1);
  • String replaceFirst(String regex, String rp)
    作用:用rp 替换regex 的首次出现
  • String replaceAll(String regex, String rp)
    作用:用rp 替换regex

随机数类

//要导入java.util.RandomRandom r=new Random();int x,i;for(i=1;i<=10;i++){x=r.nextInt(10)+1;//默认从0开始,要获取从1-10的就要+1System.out.println(x);}

面向对象程序设计

对象和对象引用的内存管理

  • 栈(自动管理机制)栈空间中的数据被系统自动管理即在函数调用时自动创建数据空间,在函数运行结束时自动释放数据空间函数中定义的所有变量无论是基本类型还是引用类型均存储于栈空间
  • 堆(手动管理机制)实现按需分配或释放所有对象均存储于堆空间
  • 构造函数与类同名,不用定义返回值类型,也没有return 语句,即使无返回值,也不能用void 声明使用new 实例化对象时,系统根据给出的
    参数表调用对应的构造函数。这就是构造函数重载
  • 构造代码块作用:对所有对象进行统一初始化特点:对象一建立就执行并且优于构造函数执行
class Person {private String name;private int age;{ age=15; }//构造代码块Person() {System.out.println("A:name="+name+",age="+age);}Person(String n) {name=n;System.out.println("B:name="+name+",age="+age);}}

对象的销毁

  • 常量final常量引用不可更改即指向某一对象不可更改,但是指向对象的内容可以修改注意如果是string或者数组等引用一定在堆里面还要指向一个最终的数据a=b是a指向b指向的对象==判别地址是否相同a.equals(b)判断内容是否相同
  • 对象数组new String[10] 不是创建String 类对象(而是数组 对象 ),因此未调用String 的构造函数。sa[0] 是String 引用,不是String 对象,sa[0]指向的那个才是string对象

继承

  • 对于超类的私有成员拥有但不能使用
  • 构造对象时,会自动调用该类与超类的构造函
    数,调用次序与派生次序相同
  • 若超类有非private的无参构造函数,子类则自动调用;若超类是有参构造函数,则子类构造函数中必须显式调用超类的构造函数,否则编译错

单例模式

class Student{String name;int age;private Student(){} public static Student creat(){//一定是static这样可以通过类名调用Student a=new Student();//在方法中newreturn a;}}Student st=Student.creat();System.out.println(st.age); 

多态

  • 意义:一名多义
  • 重载(编译时决定静态绑定)同一个对象同一个方法的参数不同狗1.嗅(主人气味 q); 狗1.嗅(骨头气味 q); ……注意重载传参时,如果是基本类型数据可以强制转换大的可以转换成小的,但是小的不能转换成大的
  • 重写(运行时决定 动态绑定)不同对象同一个行为的实质不同狗 d=new 藏獒()/ new 哈士奇(); d.咬( );//重写咬这个方法不同的new的对象调用这个方法是不同的,虽然这个方法是extents父类的保证同名同参同返回类型权限不能缩小如果要禁止一个类派生子类那么将类设置为final禁止子类重写某个操作可以将操作设置为final或者static不希望被重写的方法可以:final/static/private//类没有private修饰
e1a0f53c975440afb80b5dac7c6abe29.png

抽象类和接口

  • 抽象类:在父子之间建立契约abstract不能修饰构造函数abstract不能和static final同时使用子类必须要重写抽象类
  • 接口:在任意类之间建立契约

最后

欢迎关注公众号:前程有光,领取一线大厂Java面试题总结+各知识点学习思维导+一份300页pdf文档的Java核心知识点总结!

4536403f1c3469fd6961c8349849415d.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292522.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu 新建的用户 table 无法补全命令 解决办法

为什么80%的码农都做不了架构师&#xff1f;>>> vi /etc/passwd 用adduser命令新增了用户之后&#xff0c;发现在该新建用户下的命令终端&#xff0c;使用方向键无法调出历史命令&#xff0c;同时tab键也无法补全输入命令。 找到 你新增的用户xxx 修改/bin/bash…

【Unity3D基础】让物体动起来②--UGUI鼠标点击逐帧移动

背景 上一篇通过鼠标移动的代码很简单&#xff0c;所以看的人也不多&#xff0c;但是还是要感谢“武装三藏”在博客园给出的评论和支持&#xff0c;希望他也能看到第二篇&#xff0c;其实可以很简单&#xff0c;而且是精灵自控制&#xff0c;关键是代码少是我喜欢的方式&#x…

一个有趣的Go项目,3D界面管理k8s集群,真好玩!

大家好&#xff0c;我是小碗汤&#xff0c;今天分享一个用Golang开发&#xff0c;很好玩的工具KubeCraftAdmin[1]&#xff1a;用Minecraft方式管理k8s的工具&#xff0c;感兴趣的兄弟不妨玩一玩。文末有视频&#xff0c;供您鉴赏~Minecraft&#xff1a;我的世界&#xff0c;是微…

java 数组拼接_打印Java数组最优雅的方式是什么?这波操作闪瞎我

在 Java 中&#xff0c;数组虽然是一个对象&#xff0c;但并未明确的定义这样一个类&#xff0c;因此也就没有覆盖 toString() 方法的机会。如果尝试直接打印数组的话&#xff0c;输出的结果并不是我们预期的结果。那有没有一些简单可行的方式呢&#xff1f;如果大家也被这个问…

AmazeUI基本样式

2019独角兽企业重金招聘Python工程师标准>>> AmazeUI是一个轻量级、Mobile first的前端框架&#xff0c;基于开源社区流行的前端框架编写。 Normalize AmazeUI使用了normalize.css&#xff0c;但做了些调整&#xff1a;html添加了-webkit-font-smoothing:antialiase…

Oracle基础中的基础视频讲座录像(西安)供免费下载

下载地址播放器也在上述目录中。记得那年园博会&#xff0c;培训中间有一天参观&#xff1a;转载于:https://blog.51cto.com/botang/1323099

她13岁自己造飞机,17岁进麻省理工,3篇黑洞论文被霍金引用......

全世界只有3.14 % 的人关注了爆炸吧知识13岁的时候&#xff0c;你在干嘛&#xff1f;我想&#xff0c;绝大多数人都没有萨布丽娜这么硬核——独自组装飞机。之后&#xff0c;16岁的萨布丽娜完成了生涯首飞&#xff0c;历史第一年轻。17岁时&#xff0c;她考上麻省理工&#xff…

Windows 10 2022 年更新来了!

面向 Release Preview 频道的 Windows 10 预览体验成员&#xff0c;微软现已发布 Windows 10 Build 19044.1499。主要修复1.微软修复了阻止某些环绕声音频在 Microsoft Edge 中播放的问题。2.微软修复了使用中文输入法时&#xff0c;一些应用停止工作的意外错误。3.微软修复了在…

当代成年人的生活状态......

1 小喵咪举起了它的狙击枪▼2 简直有毒...▼3 哈哈哈哈哈▼4 电焊既视感▼5 请问需要小猫咪吗&#xff1f;▼6 哈哈哈哈哈▼7 一物降一物▼7 数学能有多好玩&#xff1f;▼你点的每个赞&#xff0c;我都认真当成了喜欢

c++ why can't class template hide its implementation in cpp file?

类似的问题还有&#xff1a; why cant class template use Handle Class Pattern to hide its implementation? || why there are linker problems (undefined reference) to my class template? 我出现问题的源码&#xff08;见main.cpp,Stack.h,Stack.cpp&#xff09;&…

C# using static 声明

许多实际的扩展可以通过扩展方法来实现&#xff0c;并非所有实际的扩展都有可以扩展的类型。对于某些场景&#xff0c;简单的静态方法比较适合。为了更容易调用这些方法&#xff0c;可以使用 using static 声明除去类名。例如&#xff0c;如果打开了 System.Console using stat…

PHP性能追踪及分析工具xhprof的安装与使用

PHP性能追踪及分析工具xhprof的安装与使用 对于本地开发环境来说&#xff0c;进行性能分析xdebug是够用了&#xff0c;但如果是线上环境的话&#xff0c;xdebug消耗较大&#xff0c;配置也不够灵活&#xff0c;因此线上环境建议使用xhprof进行PHP性能追踪及分析。 我们今天就简…

C 语言 int 型乘法溢出问题

2019独角兽企业重金招聘Python工程师标准>>> long l; int a, b; l a*b; 因为 a*b 的结果仍然以 int 型保存, 所以即使 l 为long,仍然会有溢出,并且截去了部分数据.出现问题. 转载于:https://my.oschina.net/simon203/blog/175885

Android插件化开发基础之Java类加载器与双亲委派模型

类加载器 Java虚拟机类加载过程是把Class类文件加载到内存&#xff0c;并对Class文件中的数据进行校验、转换解析和初始化&#xff0c;最终形成可以被虚拟机直接使用的java类型的过程。 在加载阶段&#xff0c;java虚拟机需要完成以下3件事&#xff1a; a.通过一个类的全限定名…

将k8s制作成3D射击游戏,好玩到停不下来,附源码

点击上方蓝字 关注【我的小碗汤】大家好&#xff0c;我是小碗汤&#xff0c;今天演示一个项目&#xff0c;利用Unity做场景、用C#做交互逻辑&#xff0c;将k8s制作成一个3D射击游戏。正好最近在学习Unity&#xff0c;所以利用这个项目开始上手挺合适的。源码、可执行文件可以自…

JavaJVM之ClassLoader源码分析

层次结构和类图 ClassLoader层次结构&#xff1a;UML类图&#xff1a;sun.misc.Launcher.ExtClassLoader sun.misc.Launcher.AppClassLoader 显式加载类 在代码中显式加载某个类&#xff0c;有三种方法&#xff1a;this.getClass().getClassLoader().loadClass()Class.forName(…

ASP.NET Core Web API使用静态swagger.json文件

前言ASP.NET Core Web API默认集成了Swashbuckle&#xff0c;可以在运行时显示Swagger UI&#xff1a;而Swagger UI实际上是解析的动态生成的swagger.json&#xff1a;app.UseSwagger(); app.UseSwaggerUI(c > c.SwaggerEndpoint("/swagger/v1/swagger.json", &qu…