Java必备小知识点1
Java程序类型: Applications和Applet
Applications:
是指在计算机操作系统中运行的程序。
是完整的程序,能独立运行。
被编译后,用普通的Java解释器就可以使其边解释边执行。
必定含有一个main方法,程序执行时,首先寻找main方法,并以此为入口点开始运行,含有main方法的类常被称为主类,因此Applications都含有一个主类。
必须另外编写专用代码来创建自己的图形界面。
Applet:
是为Internet上工作的Java小程序,支持Java的浏览器运行。
可以使用任何Java开发工具创建,但必须包含或嵌入到网页中去。
Applet不可以单独运行,必须依附在网页并嵌入其中,当网页显示在浏览器后,Applet就可以被加载并执行。
运行Applet程序的解释器不是独立的软件,而是嵌在浏览器中,作为浏览器的一部分。必须通过浏览器或者Applet Viewer才能执行。
没有含有main方法的主类(不能独立自主运行的原因)。
可以直接利用浏览器或者Applet Viewer提供的图形用户界面。
Java体系包括三大块:Java ME(java微型版)、Java SE(标准版)✔️、Java SE(企业版)
注释
无论是什么语言,什么程序,都可以command+/来直接出注释,也可以选中想选的部分,直接command+/注释掉
文档注释使用/**…*/进行标记,并写入Javadoc文档.文档注释用于生成HTML格式的代码报告,写在最前面. 使用Javadoc命令可以为代码生成类似Java API文档的HTML格式文档,代码中的文档注释会体现在此HTML文档中.文档注释可按照HTML语法进行修饰.
例如:<h1>main方法负责输出Hello</h1>
注释标签 | 说明 |
@auther | 对类的说明,标明开发该模块的作者 |
@version | 对类的说明,标明该模块的版本 |
@see | 对类,属性,方法的说明 |
@param | 对方法中某参数的说明 |
@return | 对方法返回值的说明 |
@exception | 对方法可能抛出的异常的说明 |
/**
*〈h1〉main方法负责输出Hello〈/h1〉
*@
*@
*/
平时单行注释可以使用//
块注释:/*…*/
文档注释:/**…*/
编译Java文件
可以选择在eclipse里编译Java,也可以在控制台(终端)上编译Java文件。
写e:然后敲回车(Java源文件在e盘里),文件在哪个盘里面,就c:,d:,e:→cd 下一步的文件名然后继续cd下一步的文件名(或者直接打开文件,然后复制路径,或者是cd+复制粘贴过来路径)
或直接在文件页面:按住shift键然后右键在此处打开,就可以了。
如果要一级级往上走,返回上一级的命令:cd.. 返回根目录的命令:cd \
在终端上使用javac对Java.Java文件进行编译生成java.class文件,再使用java命令对编译好的hello.class文件进行执行,终端上就会显示执行结果。
Java文件命名
java源文件的命名规则:
如果有public类,那么源文件名就是public类的类名(一个文件中只能有一个public类),而类名命名规则是:类的名字必须由大写字母开头而单词中的其他字母均为小写;
如果类名称由多个单词组成,则每个单词的首字母均应为大写,如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,命名类时应尽量选择名词。
如果没有public类,就和遵循文件名命名规则。
例如:以下代码中有两个类,且没有public类,在对该文件命名时,就可将文件名命名为Demo.java或Demo1.java。这个javac编辑后,会生成两个 以.class 结尾的文件,执行时可以java Demo或java Demo1,=》这说明一个源文件中可以存在多个类,每个类中都可以有main主方法。也就是说一个JAVA文件中可以有多个main方法。
class Demo
{public static void main(String[] args){System.out.println("Hello World");}
}
class Demo1
{public static void main(String[] args){System.out.println("Hello Java");}
}
执行java Demo,输出:Hello World
执行java Demo1,输出:Hello Java
包
不出意外,新生成的类里面会自动含有这一句:package com.dh.ch; 意思是该类属于ch包下的dh包下的com包。package:包
使用package关键字定义一个包,使用包可以对类进行组织,与其他来源代码库中的类分割开来,确保类名的唯一性,如果不指定所属的包,则此时类位于默认包中。即类在哪个包中创建,就属于哪一个包。
包可以分级,多级的包之间使用”.”进行分隔.(通常逆序来写). 例如上面的package com.dh.ch;
package 语句必须作为java源文件的第一句.一个java源文件中,最多只有一条package语句.但可以有多条 import 语句.
多个源文件可以定义相同的包。一个源文件只能属于一个包,但一个包里面可以有多个源文件。
包的导入:import包名.*;//*表示导入指定包中所有的类.
例如import java.uti.*;就表示导入uti.包中的所有类。
也可以在使用的类名前直接添加完整的包名.无需使用import导入包.
例如:
import mypackage . shool. Student;
Student tom = new Student ();
可以变成 mypackage. school. Student tom = new mypackage. school.Student();
在使用date这个Java里经常使用的类时,需要注意,看看需要哪个再导入哪个包。
java中同时存在两个Date类,但分别属于java.util和java.sql.
类
类的定义
1.[访问符][修饰符] class <类名>
访问符:用于声明类/属性/方法的访问权限, public protected private
修饰符:定义类的特性: abstract(抽象) static(静态) final(最终).
(在定义类的时候,修饰符不是必须的.)
2.类名不要忘记首字母大写
3.在面向对象时,定义类时,专门为描述对象提供一个类,该类不需要main方法.
访问修饰符
1.类前面只有public 和缺省(啥都不写)两种,没有其他的修饰符.
2.使用protected 访问修饰符时:允许类本身、同一包中的所有类、所有子类访问该类.
3.使用private访问修饰符只允许类本身中的其他成员访问,不能被类外看到.
3.缺省的可以被同一包中的所有类访问.(又称为包权限,不能被导入的包访问).
4.缺省(friendly) 不是关键字,只是一种称谓.
对象的创建
对象拥有属性和方法。
1、创建对象。
通过new关键字来创建该类型的对象(new用于为对象动态分配内存空间,只在运行时分配)
例如:Rectangle rectangle ;/*创建对象名,此时系统为引用类型变量rectangle分配内存空间.但只是定义了名为rectangle的变量,未进行初始化.*/
rectangle = new Rectangle(3,5); /*创建对象,并分配空间。先创建一个Rectangle类型的对象,为新对象分配内存空间来存储该对象的所有属性,并默认初始化.*/
或Rectangle rectangle = new Rectangle();//这样就new出了一个名叫rectangle的对象。
1、rectangle
空 |
2、Rectangle
空 |
OX1b1c6(是rectangle的地址)
Rectangle |
Width = 0 Length = 0 (初始化之前) |
|
(执行构造方法时,width和length的值会变成3和5.接下来rectangle 箭头指向OX1b1c6)
如果不想给对象分配内存空间,则Rectangle rectangle = null;(可以将null赋给引用类型变量(Object),但是不可以赋给基本类型变量(int) ),null还可以用来释放内存,即将变量指向null;
2、使用对象
使用对象时,用” . ”来访问.
//访问对象的属性 :对象名.属性
//访问对象的方法 : 对象名.方法名();
//若方法由static 关键字修饰,调用方式: 类名.方法名()
3、构造方法
构造方法是一种特殊的方法,用于当对象被创建时初始化对象中的属性,即可以给对象赋值.
构造方法的名字必须与其所在类的名字相同,且没有返回类型.
4、类的方法
[访问符][修饰符]<返回类型> 方法名 ([参数列表]){
//方法体
}
方法的返回类型是该方法运行后返回值的数据类型.
5、抽象类
抽象类:在普通类的基础上扩充了一些抽象方法(0~n)的类(抽象类是普通类的超集),使用abstract关键字定义。抽象类不能直接产生实例化对象,因为抽象类是“半成品”,无法直接使用。不能直接new
抽象方法:使用abstract 关键字定义并且没有方法体(方法后面的()就是方法体)的方法。抽象方法所在类一定是抽象类。
6、static类
在Java中,可以将一些成员限制为“类相关”的。如果不是“类相关“,则其使用必须要通过声明实例来完成。“类相关”就是在类的成员前面加上“static”关键字,从而直接通过类名访问。
与类相关的变量与方法称为类变量或类方法,类变量和类方法也称为静态变量和静态方法.与实例相关的变量与方法称为实例变量与实例方法。
静态变量用的比较少,但静态常量经常使用。
例public static final String PASSWORD = “12345”;
在Java中,类的静态变量和静态方法在内存中只有一份,为该类的所有对象共用,访问时,可通过类名。
7、实例化对象
实例化对象,就是创建对象的过程.如果类是静态类,则可以直接调用类中的方法进行创建. 如果类不是静态类,则需要用对象引用,对象new出来.即A a = new A(); a. CallMethod(); (先new出来a,在a.方法名())
new A()就是实例化对象.
对象放在堆里面,但对象名称是放在栈里面的。
对实例进行解析
java程序是由类组成的,java应用程序必须有一个包含main方法的public类,main方法是程序的入口;
一个java文件最多只能有1个public class(暗示可以没有)。
package text;public class Text {publicstaticvoid main(String[] args) {// TODO Auto-generated method stubSystem.out.println("Hello");}
}
第一行package关键字说明该类在text包中。
第三行 class表明这是一个类,前面有public,则说明是公共类,整个文件都可以访问的它。那么源文件名就会是Text.java(源文件名要和公共类的类名完全一致)。
这个类里面只有一个方法——main()方法,C语言的函数,在Java里叫做方法。回归类型是void。
相关文章:
Java必备小知识点1
Java程序类型: Applications和AppletApplications:是指在计算机操作系统中运行的程序。是完整的程序,能独立运行。被编译后,用普通的Java解释器就可以使其边解释边执行。必定含有一个main方法,程序执行时,首先寻找main方法&#x…...
JavaScript作用域、闭包
文章目录作用域、作用域链作用域作用域链循环中的作用域自由变量、闭包自由变量闭包的定义、表现、应用如何确定在闭包中获取正确的变量总结作用域、作用域链 作用域 编程语言中存储、访问、修改变量当中的值是一项基本能力、存储变量、访问变量必须按照一定的规则࿰…...
JavaScript Date(日期) 对象
JavaScript Date 对象是 JavaScript 中用于处理日期和时间的内置对象。它可以用于获取当前时间、设置日期和时间、计算日期和时间之间的差异、以及将日期和时间格式化为各种字符串格式。在本文中,我们将详细介绍 JavaScript Date 对象的作用和在实际工作中的用途。 …...
rust过程宏 proc-macro-workshop解题-4-sorted
名字版本号rust1.69.0OSubuntu 22.04这一大关卡介绍的是属性式过程宏。 第一关:01-parse-enum 还是简单的看我们是否已经实现了一个属性式过程宏的空架子,如果有这个空架子,就直接通过了。 use proc_macro::TokenStream; use proc_macro2; use syn;#[proc_macro_attribut…...
数据结构与算法—队列
队列 队列介绍 有序列表,可以用数组或者链表实现。遵循先进先出原则。 数组实现队列 public class ArrayQueue {public static void main(String[] args) {ArrayQueue queue new ArrayQueue(3);// 接收用户输入char key ;Scanner sc new Scanner(System.in);…...
AcWing3416.时间显示——学习笔记
目录 题目 代码 AC结果 思路 关键步骤 题目 3416. 时间显示 - AcWing题库https://www.acwing.com/problem/content/description/3419/ 代码 import java.util.Scanner;public class Main {public static void main(String[] args){Scanner input new Scanner(System.in…...
贴吧手机端防删图GIF动态图制作解析
贴吧存活 思路技术运气 1:防删图不是存活的绝对因素,除了防删图,还有账号,ip,内容,吧的问题 2:一个图不是每个吧都可以发 3:一个贴不被删不仅仅看图片 4:有时候运气也很…...
iOS接入Google登录
1.在Google Cloud后台配置客户端ID 首先要在 Google Cloud 中创建一个项目。新创建的Project需要先配置同意屏幕。一共有4步骤需要配置。 1.OAuth 同意屏幕 User Type选择"外部"进行创建。填写必必要的信息,应用名称、用户支持电子邮件地址、开发者电子邮…...
【C语言】大小端字节序问题
一、大小端字节序问题 大小端是由CPU决定的,大小端可以理解为字节顺序,所以大小端全称叫大端字节序、小端字节序。其实大端、小端这两个词是从《格列佛游记》里出来的。《格列佛游记》有一段讲的是吃鸡蛋是从大的那头敲开还是小的那头敲开的问题…...
Linux | 网络通信 | 序列化和反序列化的讲解与实现
文章目录为什么要序列化?协议的实现服务端与客户端代码实现为什么要序列化? 由于默认对齐数的不同,不同的平台对相同数据进行内存对齐后,可能得到不同的数据。如果直接将这些数据进行网络传输,对方很可能无法正确的获…...
C#的委托原理刨析and事件原理刨析和两者的比较
什么是委托委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。 在实例化委托时,你可以将其实例与任何具有兼容参数和返回类型的方法进行绑定。 你可以通过委托实例调用方法。简单的理解,委托是方法的抽象类,它定…...
Redis学习【8】之Redis RDB持久化
文章目录Redis 持久化1 持久化基本原理2 RDB(Redis DataBase) 持久化2.1 持久化的执行2.2 手动 save 命令2.3 手动 bgsave 命令2.4 自动条件触发2.5 查看持久化时间3 RDB 优化配置3.1 save3.2 stop-write-on-bgsave-error3.3 rdbcompression3.4 rdbchecksum3.5 sanitize-dump-p…...
SpringSecurity认证
文章目录登陆校验流程依赖yaml实现建表、工具类、实体类加密器、AuthenticationManager登录逻辑登录过滤器、配置过滤器登出登陆校验流程 认证 登录: ①自定义登录接口 调用ProviderManager的方法进行认证 如果认证通过生成token,根据userId把用…...
Socket套接字
概念 Socket套接字,是由系统提供用于网络通信的技术,是基于TCP/IP协议的网络通信的基本操作单元。基于Socket套接字的网络程序开发就是网络编程。 分类 Socket套接字主要针对传输层协议划分为如下三类: 流套接字:使用传输层TCP…...
mysql详解之innoDB
索引 Mysql由索引组织,所以索引是mysql多重要概念之一。 聚簇索引 InnoDB和MyISAm一样都是采用B树结构,但不同点在于InnoDB是聚簇索引(或聚集索引),将数据行直接放在叶子节点后面。 这里可能存在一个误区࿱…...
电信运营商的新尝试:探索非通信领域的发展
近年来,随着电信运营商竞争的日趋激烈和网络建设的成本不断攀升,许多电信运营商已经开始缩减IT投资。然而,在如此情况下,电信运营商仍然需要寻找新的增长机会。那么,在持续缩减IT投资的情况下,电信运营商可…...
第07章_单行函数
第07章_单行函数 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 函数的理解 1.1 什么是函数 函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经…...
Echarts实现多柱状图重叠重叠效果
有两种重叠效果: 1. 多个柱子重叠为一个 2. 多个柱子重叠为两组 第一种,图例: 这个灰色不是阴影哦, 是柱子. 1. 使用详解 (1) series.Z 折线图组件的所有图形的 z 值。控制图形的前后顺序。 z 值小的图形会被 z 值大的图形覆盖。z 相比 zlevel 优先级更低,而且不会…...
PHP学习笔记(一谦四益)
前言 上一篇文章 PHP学习笔记(观隅反三)分享了数组的知识,这篇文章接着分享和数组相关的算法。 算法效率 算法效率分为两种:第一种是时间效率,第二种是空间效率。时间效率被称为时间复杂度,而空间效率被称…...
Jvm -堆对象的划分
堆对于一个jvm进程来说是唯一的,一个进程只有一个jvm,但是进程半酣多个线程,多个线程共享一个堆。 也就是说,一个jvm实例只存在一个堆,同时对也是Java内存管理的核心区域。 Java堆区域的大小在jvm启动时就已经被确定…...
2023美赛F题讲解+数据领取
我们给大家准备了F题的数据,免费领取!在文末 国内生产总值(GDP)可以说是一个国家经济健康状况最著名和最常用的指标之--。它通常用于确定一个国家的购买力和获得贷款的机会,为各国提出提高GDP的政策和项目提供动力。GDP“衡量一个国家在给定时间段内生产…...
【博客625】keepalived开启garp refresh的重要性
keepalived开启garp refresh的重要性 1、场景 1-1、对keepavlied master机器热迁移后出现vip不通,过后恢复 原因:机器迁移后网关那边的arp表没有刷新,流量还是转发到老的端口,但是机器已经迁移到别的端口了,于是网络…...
nginx防护规则,拦截非法字符,防止SQL注入、防XSS,nginx过滤url访问,屏蔽垃圾蜘蛛,WordPress安全代码篇
nginx防护规则,拦截非法字符,防止SQL注入、防XSS,nginx过滤url访问,屏蔽垃圾蜘蛛,WordPress安全代码篇 精心强化,小白一键复制 资源宝分享:www.httple.net 宝塔为例:/www/server/panel/vhost/nginx/你的网站域名.conf,复制代码点击保存 修改www.xx.net你自己域名incl…...
【计算机网络】网络层
文章目录网络层概述网络层提供的两种服务IPv4地址IPv4地址概述分类编址的IPv4地址划分子网的IPv4地址无分类编址的IPv4地址IPv4地址的应用规划IP数据报的发送和转发过程静态路由配置及其可能产生的路由环路问题路由选择路由选择协议概述路由信息协议RIP的基本工作原理开放最短路…...
产品经理知识体系:1.什么是互联网思维?
互联网思维 思考 笔记 用户思维 是要注重用户体验,产品带给用户的价值是什么,是能帮助用户获取想要的商品、解决生活中的问题、获取想要的信息,还是产品能通过兜售参与感、满足感等来满足用户的心理需求。 贯穿产品的整个生命周期过程。 简…...
【数据结构】单链表的接口实现(附图解和源码)
单链表的接口实现(附图解和源码) 文章目录单链表的接口实现(附图解和源码)前言一、定义结构体二、接口实现(附图解源码)1.开辟新空间2.头插数据3.头删数据4.打印整个单链表5.尾删数据6.查找单链表中的数据7…...
TikTok话题量超30亿,这款承载美好记忆的剪贴簿引发讨论
回忆风剪贴簿在TikTok引起关注小超在浏览超店有数后台时发现,有一款平平无奇的剪贴簿的种草视频爆火,在24h内收获了9.9K点赞,播放量更是突破了100W,直接冲到了【种草视频飙升榜】第六名的位置,并且这个数字目前仍在继续…...
了解Dubbo
1.注册中心挂了,消费者还能不能调用生产者? 注册中心挂了, 消费者依然可以调用生产者。生产者和消费者都会在本地缓存注册中心的服务列表,当注册中心宕机时,消费者会读取本地的缓存数据,直接访问生产者&am…...
2023年前端面试知识点总结(JavaScript篇)
近期整理了一下高频的前端面试题,分享给大家一起来学习。如有问题,欢迎指正! 1. JavaScript有哪些数据类型 总共有8种数据类型,分别是Undefined、Null、Boolean、Number、String、Object、Symbol、BigInt Null 代表的含义是空对象…...
jQuery
文章目录jQuery 介绍初体验核心函数jQuery 对象和 dom 对象区分什么是 jQuery 对象,什么是 dom 对象问题:jQuery 对象的本质是什么?jQuery 对象和 Dom 对象使用区别Dom 对象和 jQuery 对象互转(重点)jQuery 选择器&…...
减肥药做网站营销/seo优化操作
本文使用JSON.NET这个组件 DataTable dt XXx.GetData(); var _list dt.AsEnumerable().Skip((pageindex - 1) * pagesize).Take(pagesize); 在此如果真接使用JSON.NET组件转换,如下代码: JsonConvert.SerializeObject(_list ) ; 生成的JSON串中有一些没…...
济南卓远网站建设/系统优化软件推荐
发布一个k8s部署视频:https://edu.csdn.net/course/detail/26967 课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产…...
网站微信分享链接怎么做的/谷歌sem服务商
最近有需要用到sqlite,去官网下了一个编译安装后打开sqlite3出现SQLite header and source version mismatch这个错误。百度了一下,http://stackoverflow.com/questions/6696861/how-do-i-upgrade-my-sqlite3-package-on-debian-lenny 这个解决方案。但是尝试了一问…...
西安网站建设首选/优化系统的软件
原标题:「数控干货」基于UG CLS文件使用 C 语言制作智能后处理工具1 前言UG 后处理操作是 UGCAM 数控加工工作中一个重要环节,主要任务是把在 UG 加工环境下生成的加工刀位文件转换成机床可接受的数控代码文件。UG 本身提供了强大的 Post Builder 后处理…...
开发公司招聘/泽成杭州seo网站推广排名
游戏功能:小球从屏幕顶端随机位置出现,垂直落下。鼠标左右键控制挡板左右移动,接住下落的小球。若没有接到则游戏失败,退出并显示分数。效果如图:代码如下:#codingutf-8import pygamefrom pygame.locals im…...
赣县企业网站建设/产品营销策划方案
Linux 性能测试与分析 Revision History Version Date Author Description 1.0 2011/5/26 dengwutaobao.com 初稿 1.1 2011/6/23 dengwutaobao.com 添加CPU分析 1.2 2012/2/20 dengwutaobao.com 添加MEM,IO分析 1.3 2012/2/23 dengwutaobao.com 更新工作原…...