![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java初阶
无心浪人
这个作者很懒,什么都没留下…
展开
-
this与super详解
文章目录this关键字的用法super关键字的用法this与super的区别this是对自身对象本身的一个引用,可以理解为:指向对象本身的一个指针。this关键字的用法this的用法在ava中大体可以分为3种:1.普通的直接引用,this相当于是指向当前对象本身。2.形参与成员名字重名,用this来区分:public Person(string name,int age){this.name=name;this.age=age;}3.引用本类的构造函数class Person{pr原创 2021-01-23 19:53:38 · 239 阅读 · 0 评论 -
Java的基本数据类型
变量变量指的是程序运行时可变的量. 相当于开辟一块内存空间来保存一些数据,变量分为成员变量和局部变量。成员变量通常将类的属性称为类的全局变量(成员变量)成员变量声明在类体中。局部变量将方法中的属性称为局部变量,局部变量生命在方法体中。数据类型这里主要介绍基本数据类型1bytebyte类型叫做字节类型,占用一个字节,范围是-2^7 ~ 2 ^7-1,封装类为Byte字节类型和字符类型互不相干2shortshort类型也叫短整型,占两个字节范围是-2^15~2 ^15 - 1,原创 2020-12-02 23:18:41 · 120 阅读 · 0 评论 -
Java中的运算符
算术运算符基本运算符int a=3, b = 2;加(+)//a + b = 5;减(-)//a - b = 1;乘(*)//a * b = 6;除(/)//a / b= 1;除时需要注意(1)0不能做除数(2)a / b =1;若 a =3.0(即为double类型时) a / b = 1.5;取余(%)//a % b = 1;取余也可以叫做求模运算%取余运算不仅可以对int求模,也可以对double 进行求模例如:11.5 % 2.0 = 1.5;增量运算符加等(+=原创 2020-12-05 12:49:03 · 1135 阅读 · 7 评论 -
类与对象的详解
类什么是类?类:类是对具有相同属性(字段或者成员变量)和行为(法)的一组对象的抽象,对一类对象的统称。**如何理解:**就拿人来说吧,我们每个人都有两条胳膊两条腿,两只眼睛一张嘴等,这是我们每个人都具有的属性;每个人都具有吃饭睡觉的行为,而把这些每个人都具有的属性和行为抽象为一个类并命名为人类。再例如汽车类,我们都会想到它具有四个车轮等属性,具有前进后退等行为,这些在我们提到汽车时都会很自然的想起。![在这里插入图片描述](https://img-blog.csdnimg.cn/20201原创 2020-12-30 12:23:10 · 3309 阅读 · 3 评论 -
java封装详解
什么是封装封装是面向对象编程的三大特性之一,分别为封装、继承、多态。封装其实就是对复杂事物的一种简化。任何事物随着不断地发展,总是会越来越复杂,体量越来越大,效率越来越低,管理起来越来越困难。这时候就需要进行分类升级,也就是我们所说的抽象,将相同特征的一类事物进行抽象封装。抽象程度越高,封装就越彻底。软件开发的本质就是对程序复杂程度的管理. 如果一个软件代码复杂程度太高, 那么就无法继续维护. 如何管理复杂程度,封装就是最基本的方法.在我们写代码的时候经常会涉及两种角色: 类的实现者和类的调用者.封装原创 2020-12-30 13:08:02 · 402 阅读 · 1 评论 -
什么是构造方法
构造方法构造方法(构造器)是一种特殊方法, 使用关键字new实例化新对象时会被自动调用,完成初始化操作。语法:[访问符] 类名([参数列表]){//初始化语句}1.方法名称必须与类名称相同2.构造方法没有返回值类型声明3.每一个类中一定至少存在一个构造方法4.方法名的前面没有返回类型的声明5.方法中不能使用return语句返回一个值类的构造器方法又分为两种:默认构造方法:不带参数的构造方法,可以有语句,也可以没有语句;非默认构造方法:是指带参数的构造方法;例如class Pe原创 2020-12-30 13:23:34 · 1483 阅读 · 1 评论 -
java包装类
为什么java会提供包装类java编程的特点是面向对象的,而基本数据类型不能实现这一功能,使得程序开发存在一定的弊端。而包装类就是将基本数据类型转为对象对象。1、整数类型的包装类以int型为例,包装类Integer构造方法:Integer (int number)Integer (String str)short,long,byte类型类似Boolean用于封装boolean构造方法:Boolean(boolean value)Boolean (String str)原创 2021-01-11 13:03:29 · 125 阅读 · 0 评论 -
模拟微信抢红包
模拟微信抢红包思路先要得到红包的总金额,和总个数,然后产生每个红包的随机值,每个红包的最小指为一分钱。采用一个for循环每次产生一个红包。import java.util.Random;import java.util.Scanner;/** * Crtated with IntelliJ IDEA. * Destcription: * User: hp * Date: 2021-01-14 * Time: 12:51 *///变量说明//total 红包的总金额//c原创 2021-01-14 13:54:44 · 924 阅读 · 0 评论 -
java中的包
包包 (package) 是组织类的一种方式.(通俗的说就是一个文件夹)使用包的主要目的是保证类的唯一性(就和Windows上不能创建两个名字完全一样的文件一样)例如, 你在代码中写了一个 Test 类. 然后你的同事也可能写一个 Test 类. 如果出现两个同名的类, 就会冲突, 导致代码不能编译通过导入包中的类1、 java.util.Date data=new java.util.Date();可以使用 java.util.Date 这种方式引入 java.util 这个包中的原创 2021-01-16 15:52:32 · 238 阅读 · 2 评论 -
继承与访问权限
继承什么是继承类似于儿子继承父亲的所有财产,在java中,为了提高代码的利用率,将某个类(父类)的所有属性和方法(不包括构造方法)都直接让另一个类(子类)使用的方式叫做继承;基本语法规则class 子类 extends 父类 { } 1、使用 extends 指定父类.2、Java 中一个子类只能继承一个父类 ,即单继承(而C++/Python等语言支持多继承).为了实现多继承,java提供了接口。3、子类会继承父类的所有,包括 字段和方法以及private修饰的、但对于父类的原创 2021-01-16 16:03:21 · 430 阅读 · 0 评论 -
向上转型,向下转型
向上转型继承中我们谈到继承是is-a的相互关系,猫继承与动物,所以我们可以说猫是动物,或者说猫是动物的一种。这样将猫看做动物就是向上转型。将子类转换成父类,在继承关系上是向上移动的,所以一般称之为向上转型。由于向上转型是从一个叫专用类型向较通用类型转换,所以它总是安全的,唯一发生变化的可能就是属性和方法的丢失。这就是为什么编译器在“未曾明确表示转型”或“未曾指定特殊标记”的情况下,仍然允许向上转型的原因。向上转型发生的时机:1、直接赋值Animal bird2 = new Bird(原创 2021-01-16 16:09:36 · 122 阅读 · 0 评论 -
方法重载与方法覆盖
方法重载重载是在同一个类中,方法名相同,参数列表不同的方法。重载的规则(1)、必须具有不同的参数列表;即参数的个数不同或者参数的类型不同亦或者参数的顺序不同。(2)、可以有不同的返回类型,只要参数列表不同就可以了;(3)、可以有不同的访问修饰符; (4)、方法名相同,同一个类里(5)、可以抛出不同的异常例如public class Test { public static void main(String[] args) { add(1,2);原创 2021-01-16 17:12:27 · 363 阅读 · 0 评论 -
动态绑定
动态绑定动态绑定也叫运行时绑定,通俗的讲, 在 Java 中, 调用某个类的方法, 究竟执行了哪段代码 (是父类方法的代码还是子类方法的代码) , 要看究竟这个引用指向的是父类对象还是子类对象. 这个过程是程序运行时决定的(而不是编译期), 因此称为 动态绑定.发生的条件1、父类引用引用子类对象2、通过父类引用调用父类和子类的同名覆盖方法例如class X{ public void eat(){ System.out.print("父类吃"); }原创 2021-01-16 23:04:55 · 4774 阅读 · 0 评论 -
多态详解
包,继承,多态,组合,抽象类,接口1、包包 (package) 是组织类的一种方式.(通俗的说就是一个文件夹)使用包的主要目的是保证类的唯一性(就和Windows上不能创建两个名字完全一样的文件一样)例如, 你在代码中写了一个 Test 类. 然后你的同事也可能写一个 Test 类. 如果出现两个同名的类, 就会冲突, 导致代码不能编译通过导入包中的类1、 java.util.Date data=new java.util.Date();可以使用 java.util.Date 这种方原创 2021-01-17 16:19:45 · 167 阅读 · 0 评论 -
java抽象类
抽象类包含抽象方法的类叫做抽象类语法规则1、抽象类不能进行实例化 也就是:Shape shape = new Shape();2、在抽象类当中,可以拥有和普通类一样的数据成员和方法。3、抽象类是可以被继承的,可以发生向上转型。4、当一个普通类继承了一个抽象类,这个普通类,一定要重写抽象类当中的抽象方法。5、当普通类A继承了抽象类,且不想实现抽象类当中的抽象方法的时候,那么这个普通类可以被修改为抽象类A(即用abstract修饰类A),此时就不需要进行实现了,当然你也可以实现。如原创 2021-01-17 16:38:41 · 447 阅读 · 2 评论 -
java接口
接口接口是抽象类的更进一步. 抽象类中还可以包含非抽象方法, 和字段. 而接口中包含的方法都是抽象方法, 字段只能包含静态常量.语法规则 1、接口当中的方法 ,不能有具体实现。 接口当中的方法,默认是:public abstract 2、接口当中的成员变量,默认是 public static final, 且必须在定义的时候初始化。 3、接口中不能有具体实现的方法,在JDK1.8引入的新特性, default修饰的方法,默认方法,可以有具体的实现。 4、接口不可以进行实例原创 2021-01-17 17:41:56 · 103 阅读 · 0 评论 -
java异常处理
何为异常所谓异常指的就是程序在 运行时 出现错误时通知调用者的一种机制.运行时指程序通过了编译形成了字节码文件(.class文件),再有java虚拟机(JVM)执行过程中出现的错误。例如1、除以 0System.out.println(10 / 0);// 执行结果Exception in thread "main" java.lang.ArithmeticException: / by zero2、数组下标越界访问 null 对象int[] arr = {1, 2, 3};Sys原创 2021-01-19 17:20:06 · 106 阅读 · 0 评论 -
String,StringBuffer,StringBuilder的关系
文章目录1、为什么会有StringBuffer,StringBuilder2、StringBuffer的一些用法3、String 和 StringBuilder StringBuffer 区别:1、为什么会有StringBuffer,StringBuilder任何的字符串常量都是String对象,而且String的常量一旦声明不可改变,如果改变对象内容,改变的是其引用的指向而已。通常来讲String的操作比较简单,但是由于String的不可更改特性,为了方便字符串的修改,提供StringBuffe原创 2021-01-20 17:19:47 · 178 阅读 · 2 评论 -
String 字符串
字符串就是用“ ”括起来的都叫字符串,属于引用类型创建字符串的三种常见方式// 方式一String str = "Hello ";// 方式二String str2 = new String("Hello ");// 方式三char[] array = {'a', 'b', 'c'};String str3 = new String (array);方式一要先看常量池有没有hello,有的话直接引用,没有的话,直接创建一个hello常量并放入常量池并引用。方式二先在堆上创建一个S原创 2021-01-20 15:45:01 · 182 阅读 · 1 评论