Java学习笔记--Java图形用户界面】的更多相关文章

一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数的所属对象的引用.         简单说,哪个对象调用了this关键字所在的函数,this就代表哪个对象. 1.区别局部变量和成员变量 内存图解: 说明: 程序执行到main函数时,main函数进入栈内存中的方法区,执行到Person p = new Person("旺财");时,在ma…
1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数的构造函数 如果在类中定义了构造函数,那么类中的默认构造函数就没有了 构造函数在创建对象时调用 构造函数也有默认的return语句(省略不写) 函数执行到return语句后,栈中该函数的方法区就会出栈 如: class Person{ private…
1.处理2D图形 要想使用java 2D库绘制图形,需要获得一个Graphics2D类对象.这个类是Graphics类的子类.paintComponent方法自动获得一个Graphics2D类对象,我们只需要进行一次类型转换. public void paintComponent(Graphics g){ Graphics2d g2 = (Graphics2D) g; } Java 2D库采用面向对象的方式将几何图形组织起来.包含描述直线.矩形.椭圆的类(当然也支持更复杂的图形): Line2D…
1 关于 (时间宝贵的小姐姐请跳过) 本教程是基于Java定时任务调度工具详解之Timer篇的学习笔记. 什么是定时任务调度 基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务. 在Java中的定时调度工具 Timer Quartz 两者主要区别 出身上,Timer是Java提供的原生Scheduler(任务调度)工具类,不需要导入其他jar包:而Quartz是OpenSymphony开源组织在任务调度领域的一个开源项目,完全基于Java实现. 功能上,如需要实现在某个具体时间执行…
Java 异常机制(也许是全网最独特视角) 一.Java中的"异常"指什么 什么是异常 一句话简单理解:异常是程序运行中的一些异常或者错误. (纯字面意思) Error类 和 Exception类 Java中"万物皆对象",异常也不例外, Java把异常当做对象来处理,并将异常分为两大类--Error(错误)和Exception(异常),它们都是Throwable类的子类. 这里看起来可能有点奇怪,什么叫"把异常分为错误和异常两类"??可以这样粗…
今天来学习Java的面向对象特性,由于与C#的面向对象类似,不需详细学习 一.Java继承 继承可以使用 extends 和 implements 这两个关键字来实现继承. extends:类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类. public class Animal { private String name; private int id; public Animal(String myName, String myid) { //初始…
java基础 一.java语言跨平台原理 1.什么是跨平台? 跨平台就是一个软件可以在不同的操作系统中运行,但是不需要对其修改.换句话说,java语言编写的软件在不做修改的情况下就能在不同的系统平台上运行 2.跨平台的原理 java程序依靠JVM运行,与操作系统无关,因此,我们只需在任意操作系统中安装一个JVM,由JVM来负责java程序的运行 3.跨平台图解 注意:Java语言是跨平台的,是因为Java应用程序需要Java虚拟机JVM负责运行. 而Java虚拟机JVM是不跨平台的,不同的操作系…
基础常识 软件:一系列按照特定顺序组织的计算机数据 和指令的集合 常见的软件: 系统软件:如:DOS,windows,Linux等 应用软件:如:扫雷,迅雷,QQ等 软件的出现实现了人与计算机之间的更好的交互 交互方式: 图形化界面:这种方式简单直观,使用者易于 接受,容易上手操作 命令行方式:需要有一个控制台,输入特定的 指令,让计算机完成一些操作.较为麻烦,需 要记录住一些命令 dos命令行常见的命令 dir: 列出当前目录下的文件以及文件夹 md: 创建目录 rd: 删除目录 cd: 进入…
Java中有很多类是很常用的,此处列举System,Runtime,Date,Calendar,Math System System:类中的方法和属性都是静态的 字段摘要 static PrintStream err "标准"错误输出流 static InputStream in "标准"输入流 static PrintStream out "标准"输出流 获取系统属性信息:Properties getProperties(); import j…
AWT:抽象窗口组件工具包 Abstract Windows Toolkit(AWT)是最原始的 Java GUI 工具包.AWT 的主要优点是,它在 Java 技术的每个版本上都成为了一种标准配置,包括早期的 Web 浏览器中的 Java 实现:另外它也非常稳定.这意味着我们不需要单独安装这个工具包,在任何一个 Java 运行环境中都可以使用它,这一点正是我们所希望的特性. AWT包中最基本的关系是 组件.容器.布局管理器.事件之间的关系 容器类派生出  容器框架类(Frame) 面板类(Pa…
多个double类型的数直接相加的时候,可能存在精度误差.( 由于计算机算法以及硬件环境决定只能识别 0 1.计算机默认的计算结果在都在一个指定精度范围之内,想往深的了解,可以学习数值分析等) 在金融方面是绝对不允许的,好在java开发者有这个先见之明. java.math.*里面提供了BigDecimal类(提供高精度计算的方法) 这个时候就要采用BigDecimal函数进行运算 第一步.建立String类型的数据 第二步.创建BigDecimal对象BigDecimal(Double.toS…
2020.9.1 学习来自 https://www.liaoxuefeng.com/wiki/1252599548343744/1255883729079552 一.变量和数据类型 基本数据类型 基本数据类型是CPU可以直接进行运算的类型.Java定义了以下几种基本数据类型: 整数类型:byte,short,int,long 浮点数类型:float,double 字符类型:char 布尔类型:boolean 浮点类型: float f1 = 3.14f; float f2 = 3.14e38f;…
java基础很重要, 今天呆家看java视频,顺便总结前几周看的java书籍,做一下简单的总结:1:数组的声明,2:数组的赋值: 3:数组的方法: 声明一个数组主要有两种方式: //类型 []数组名字; //类型 数组名字[]; int []arr; int arr[]; 定义数组也有两种方式: //声明有4个内存空间的数组: ]; //声明一个数组长度为4,对应的内容分别问1,2,3,4; ,,,} java的数组声明在赋值的时候数组长度就固定了,你不能更改的, 这点需要注意; 还有一种是声明…
package com.app; import java.util.Date; /* * 工厂模式:简单工厂.工厂方法.抽象工厂 * * */ public class Test0718_Factory { public static void main(String[] args) { Fruit.FruitJudge(new Date()); Fruit.FruitJudge(5); Fruit.FruitJudge(new Fruit()); Fruit.FruitJudge(new Ch…
static关键字用处 用于修饰成员变量和成员函数 被修饰后的成员具有以下特点: 随着类的加载而加载 优先于对象存在 被所有对象所共享 可以直接被类名调用 使用注意 静态方法只能访问静态成员:非静态方法也可以访问静态成员 静态方法中不可以写this,super关键字 主函数是静态的 实例变量(成员变量)和类变量(静态变量)的区别 生命周期不同 成员变量随着对象的创建而存在,随着对象的回收而释放: 静态变量随着类的加载而存在随着类的消失而消失 2.   调用方式不同 成员变量只能被对象调用    …
1.面向对象概述 面向对象是java语言的核心.是对应于面向过程而言的. 面向过程:强调的是过程,即动作.在java中动作就是函数.C语言就是面向过程的. 如:把大象装进冰箱需要几步? 答:需要三步: 打开冰箱 把大象装进去 关上冰箱 我们把上面的问题,用面对对象的思想来考虑. 我们把冰箱作为一个对象,它具备打开,存储,关闭的功能.这个时候,我们就只需要冰箱这个对象就可以完成把大象装进冰箱中.即,冰箱打开,存储,冰箱关闭. 面向对象的特点: 面向对象是一种常见的思想,符合人们的思考习惯. 面向对…
1.数组基础 1.什么是数组:           同一类型数据的集合,就是一个容器. 2.数组的好处:           可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式:  (一旦创建,必须明确长度)          格式1:              元素类型   [ ]  数组名  =  new  元素类型  [元素个数即数组的长度]:              示例:int[] array = new int[5];          格式2:           …
1.内存的划分 1.寄存器 cpu处理 2.本地方法区 和所在系统相关 3.方法区 方法加载进内存,其实就是开辟了一块该方法的方法区 方法区中还可以有静态区,用于存放静态变量(类变量) 4.栈内存 5.堆内存 2.栈和堆 1.栈: 存储的都是局部变量.而且变量所属的作用域一旦结束,就释放该变量. 栈中的变量生命周期都很短,更新速度会很快. 局部代码块:限定局部变量的生命周期.局部代码块一旦执行结束,里面的变量就会被释放. 2.堆 存储的是数组和对象.凡是new建立的,都会存在堆里. 特点: 每一…
1.函数 1.什么是函数? 定义在类中的具有特定功能的一段独立小程序. 函数也叫做方法 2.函数的格式 修饰符   返回值类型    函数名(参数类型  形式参数1, 参数类型  形式参数2-) {           执行语句(函数体);           return 返回值;       } 返回值类型:函数运行完成后输出的数据类型. 参数类型:是形式参数的数据类型. 形式参数:是一个变量,用于储存调用函数时传递给函数的实际参数. 实际参数:传递给形参的实际数据. return:结束函数…
一.运算符 算数运算符 +,-,*,/,%,++,-- 1.+,-,*,/ 整数除以整数的结果为舍弃了小数部分的整数. 2.%:取余 %左右都为正数,左边小于右边结果为左边值,如,4%5=4 %左边大于或等于右边结果为左边除以右边的余数,如,5%5=0,7%2=1 面试题:100%3.0的结果为1.0 应该注意的是:当运算负数的取余运算时,结果的符号和被取余数一致. 如: System.out.println(-5%2); System.out.println(-5%-2); System.ou…
一.标识符 在程序中自定义的一些名称 由26个英文字母的大小写,数字,_$组成 定义合法标识符的规则: 不能以数字开头 不能使用关键字 java严格区分大小写 注意:在起名字时,为了提高阅读性,必须得起得有意义. 二.关键字 被赋予了特殊java含义的单词. 关键字全都是小写 三.注释 1.行注释:使用 // 来注释一行文字或代码. //这是行注释的内容 2.块注释: 块前使用 /* ,块后使用 */ 包裹住要注释的块内容 /* 这是块注释 这是块注释 */ 3.文档注释:文档前使用 /** ,…
1.Java没有sizeof关键字 , volatile是java关键字.详情见:http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html 2.Java的类定义可以定义一个与类名相同的方法,可以编译并执行. public class Worker extends Person{ public Worker() { System.out.println("i am worker"); } public void Wor…
当程序进入死循环或者由于其他原因无法自行终止的时候,就需要强制退出程序了. 对于开发软件 Eclipse ,在程序执行超时后,可以点击 Terminate 按钮强制退出. 那么,我们可不可以通过程序设置一定的时间,当程序运行超过该时长后自行终止或者进行其他操作呢? 查了大量资料后发现,Future类就能满足这个需求. Future类中重要方法包括get()和cancel(). get()获取数据对象,如果数据没有加载,就会阻塞直到取到数据,而 cancel()是取消数据加载. 另外一个get(t…
先说一下大概的思路: 应用多线程来实现服务器与多客户端之间的通信 1.服务器端创建ServerSocket,循环调用accept()等待客户端连接: 2.客户端创建一个Socket并请求与服务器端连接: 3.服务器端接受客户端请求,创建Socket与该客户端简历专线连接: 4.建立连接的两个Socket在一个单独的线程上对话: 5.服务器端继续等待其他新的连接. 闲话不多说,直接上代码: package net; /** * 1.客户端 */ import java.io.BufferedRea…
一.java标识符,关键字,保留字 1.标识符 用来增强程序阅读性自定义的名字.类名,变量名,方法名等都可以被称为标识符 标识符的组成: 1.由数字(0-9),字母(a-z,A-Z),下划线(_),美元符号($)组成 2.不能以数字开头,不能使用关键字和保留字 3.严格区分大小写 2.关键字 关键字:被Java语言赋予了特定含义的一些字符!关键字中所有字母都为小写. 注:不用刻意去 关键字 描述 abstract 抽象方法,抽象类的修饰符 assert 断言条件是否满足 boolean 布尔数据…
Java Networking (Java 网络) 1. 网络通信协议 Network Communication Protocols Network Protocol is a set of rules that governs the communications between computers on a network, or rather, rules for sending blocks of data (each known as a Protocol Data Unit (PD…
Java Threading (Java线程) ● Process & Thread Processes are the abstraction of running programs: A binary image, virtualized memory, various kernel resources, an associated security context, and so on. Threads are the unit of execution in a process: A v…
一.安装JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 根据自己系统选择安装包,我是用的win7 64位系统,所以选择的 安装完成以后就可以在自己选择的目录上看到安装的文件 二.配置环境变量 1.JAVA_HOME 新建系统变量,,变量值就是jdk的安装目录: 2.PATH ,PATH变量名是已经存在的,所以我们只需要在前面新增一个变量值并用分号隔开:变量值就是jdk的…
一.多线程 首先我们要清楚程序.进程.线程的关系. 首先进程从属于程序,线程从属于进程. 程序指计算机执行操作或任务的指令集合,是一个静态的概念. 但我们实际运行程序时,并发程序因为相互制约,具有“执行——暂停——执行”的状态, 显然这时程序这个静态的概念无法描述这种状态,从而人们引入了进程这个动态的概念分析研究程序的活动. 目前国内对进程的定义:进程是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动. 而线程从属于进程,线程是比进程更小的活动单位,它是进程中的一个执行路径.一个进程可…
Java开源语言 C语言闭源语言 IOS闭源系统  采用object-c语言开发 应用程序分类(从类型分类) C/S(Client Server):不联网的软件也属于C/S B/S(Browser Server):WebQQ.网站 Java体系结构: Javase: java应用程序开发的基础库: Javame:移动(微型)设备应用程序开发: Javaee:网站开发使用体系: 配置环境变量: 打开计算机属性-高级-环境变量-系统变量-path 添加jdk下的bin文件绝对路径,新建名为class…