Java
春林初绿
知错能改,实时更新,热爱安卓
展开
-
Java构造方法的理解
无参的构造方法会在创建类对象时自动生成(在你没有写任何构造方法时),我们常能在资料种看到构造方法的作用时初始化对象的内容,具体时怎么初始化的,又比较模糊。下面来看一个例子public class Student {//一个student类 String name;//姓名 int age;//年龄 public Student(String name, int age)...原创 2020-03-26 11:14:08 · 216 阅读 · 0 评论 -
java——关于定义的变量作为参数传递后原变量是否会被更改
关于方法中的参数,看到过这样一句话:被传递进去参数永远都只是副本,不论副本经过了再怎样的变化,只要不接收,原件永远都不会发生改变。最近看到了几道题目刷新了我对这句话的认识:这句话是不对的,或者说是不完全对的。对于传递的基本数据类型(int 、byte等)来说,传递的参数的确像是副本一样,对原件没什么影响,但是如果传入的参数是原件的地址,那在传入参数的方法中改变的就是地址中的数据,也就是说,原件...原创 2019-09-26 21:37:45 · 1016 阅读 · 0 评论 -
java基础——接口
接口的概念接口是从多个相似类中抽象出来的规范通俗来讲,是在接口中定义方法而不定义方法体(都是抽象方法),再通过类对接口的继承来具体的实现这些方法。这时候接口的定义就像一张工程蓝图,去告知类有哪些事情需要去做。抽象类中定义的也是抽象方法,同样也可以通过继承抽象类来具体实现方法,为什么要用接口呢?抽象类虽然可以被继承,但是不能多继承(可以间接多继承,B继承A,C继承B),在某种程度...原创 2019-08-28 19:12:00 · 106 阅读 · 0 评论 -
基本数据类型
八种数据类型以及封装类类型大小(字节)默认值封装类boolean-falseBooleanbyte1(byte)0Bytechar2\u0000(null)Charactershort2(short)0Shortint40Integerfloat40.0fFloatlong80LLongd...原创 2019-08-21 12:23:20 · 73 阅读 · 0 评论 -
java基础——堆和栈
Java程序在运行前都要为程序开辟空间,JVM(java虚拟机)内存的划分分为5个部分:寄存器本地方法区方法区栈内存堆内存栈内存一种运算受限的线性表。限定只能在表尾进行插入和删除操作的线性表。用于存储局部变量(栈的生命周期短是因为变量都有自己的作用域,一旦离开作用域,变量就会被释放,也因此栈内存的更新速度很快)堆内存存储数组和new出来的对象。堆中的内存不会像栈中的数据被随...原创 2019-08-25 16:22:25 · 102 阅读 · 0 评论 -
java基础——类变量与实例变量、类方法与实例方法
类变量与实例变量在类中被static修饰的变量属于类,称为类变量不被static修饰的变量成为实例变量类变量属于类本身,不属于该类的单个实例。类变量是所有对象共有,它的值只要被其中一个对象改变,其他对象得到的值就是被改变后的值。而实例变量属于对象私有,某一个值被一个对象改变,该值就只在该对象中起作用。public class Classmate { static String ...原创 2019-08-24 20:51:24 · 864 阅读 · 0 评论 -
java基础——多态
多态(多种状态):多态是继封装、继承之后,面向对象的第三大特性。理解:就像一个人会打乒乓球、会做饭,做饭与打乒乓球就是这个人的两种状态前提:必须有子父类的关系(继承、重写)体现:父类引用指向子类对象(向上转型)注意:子类对象调用重写的方法时,调用的是子类对象中的方法举例验证父类和子类对象对于重写方法的调用 *在Employee(父)类中定义 mailCheck方法,让类Sala...原创 2019-08-23 23:41:25 · 91 阅读 · 0 评论 -
多线程练习:铁路售票(线程安全)
需求:铁路售票,一共100张,通过四个窗口卖完思路:创建一个单独的售票的类,补充售票的方法创建四个线程参与售票的方法(应当注意票数的共享,否则相当于四个窗口创建了四个有100张票的对象,即总票数变为400张。)在线程中限定售票的截至的条件开始售票public class practice_selltickets { public static void main(Strin...原创 2019-08-01 11:42:07 · 218 阅读 · 0 评论 -
网络编程(DatagramSocket && DatagramPacket)
UDP传输udp传输数据就好像在大海上运输货物,DatagramSocket就像的两个通信港口的码头,DatagramPacket就像在两端运输货物的轮船发送端(send)创建DatagramSocket,随机端口号创建DatagramPacket,制定数据,长度,地址和端口使用DatagramSocket发送DatagramPacket关闭DatagramSocket异常处理...原创 2019-08-05 10:41:40 · 12300 阅读 · 2 评论 -
多线程基础
文章目录1.多线程的开启使用匿名内部类完成多线程的开启使用匿名内部类完成实现runnable接口2.获取名字和设置名字通过getName获取名字(在没有将线程命名时,线程自动编号)通过setName方法设置名字3.currentThread(获取当前执行的线程的对象)4.Thread.sleep(休眠线程)5.(setDaemon)守护线程6.jion()(加入线程)7.(synchronized...原创 2019-08-02 15:31:47 · 382 阅读 · 1 评论 -
类与类,类与接口,接口与接口
说明类与类可以单继承,不能多继承(考虑到安全问题),但可以多层继承(b继承a,c继承b的情况)类与接口实现关系,可以单实现,也可以多实现可以在继承类的同时实现接口(有亲爹也不影响认干爹)接口与接口可以单继承,可以多继承代码//接口与接口interface interA { public abstract void printA(); ...原创 2019-06-22 11:05:34 · 184 阅读 · 0 评论 -
构造方法初体验
Java中构造方法的含义:一个与当前类同名的方法称为构造方法特点:与当前类同名没有返回值(也没有void)不能加void定义类型,它的返回值与void不同,若用void定义类型,则系统不会将其认定为构造方法其中不能使用return语句返回任何值一旦自定义构造方法后,系统将不再自动生成无参数的构造方法(总建议同时自定义有参和空参的构造)class per {...原创 2019-06-16 16:31:58 · 113 阅读 · 0 评论 -
面向对象的创建和使用
面向对象与面向过程(了解)面向过程第一步第二步面向对象找对象(第一步、第二步)举例吃煎饼果子(面向过程)第一步:找卖煎饼果子的人第二步:付钱第三步:吃煎饼果子(面向对象)第一步:学习做煎饼果子的技术第二步:买食材第三步:做煎饼果子第四步:吃煎饼果子第五步:清理面向对象的思想特点是一种更符合懒人思想的思想习惯可以将复杂的事情简单化...原创 2019-06-10 20:43:38 · 141 阅读 · 0 评论 -
代码块(局部代码块、构造代码块、静态代码块)
代码块的概述在Java中,使用{}括起来的代码被称为代码块代码块的分类根据位置和声明不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块局部代码块:在方法中出现,限定变量生命周期,及早释放,提高内存利用率构造代码块(初始化块):在类中方法外出现静态代码块:一般用于加载驱动static{}测试代码public class face_code_questi...原创 2019-06-18 20:17:41 · 4614 阅读 · 2 评论