Java之路理解

简介: 我们学习的程序基本第一个都是hello,word,有些小伙伴调侃, 本人精通多种语言hello,word,当你创造出第一个程序,打印出第 一句hello,word,那么便是一个程序人生的开始。 说到开始,其实我的编程语言学习之路很坎坷,我其实最初学习 的并不是Java语言,而是c语言,当时学习觉得好难呀,学不会,来来 回回放弃了好多次,最后学习了Java,开启软件开发后端之路,Java 在我学的那些语言中还是比较好学的,个人理解。第一个语言 我学习Java软件开发是从最基础的学习的,从网上找资料,买书 本,白嫖一

前言

起因

       有很多小伙伴想学习程序,觉得写代码,做到了别人做不到的

   事情,走在了人群的上流,是一件很酷的事情,这里我想说的是:

   程序创造人生,创造未来。我为什么喜欢写代码是因为我喜欢那种

   创造的感觉,创造是一个从无到有的过程。

个人理解

       我们学习的程序基本第一个都是hello,word,有些小伙伴调侃,

   本人精通多种语言hello,word,当你创造出第一个程序,打印出第

   一句hello,word,那么便是一个程序人生的开始。

       说到开始,其实我的编程语言学习之路很坎坷,我其实最初学习

   的并不是Java语言,而是c语言,当时学习觉得好难呀,学不会,来来

   回回放弃了好多次,最后学习了Java,开启软件开发后端之路,Java

   在我学的那些语言中还是比较好学的,个人理解。

第一个语言

       我学习Java软件开发是从最基础的学习的,从网上找资料,买书

   本,白嫖一些电子书,也许有人会问要是遇到问题怎么办,我遇到问

   题都是通过一些学习网站,比如:阿里云、CSDN、稀土掘金、极客时

   间以及InfoQ写作社区等等。这些网站都是比较出名的,还可以请教

   一些大佬,一般都会为你讲解的。

       我学习Java的顺序是:Java历史、编译原理、环境搭建、基本数

   据类型、Java常量与变量、类型转化、运算符号、语法结构以及一些

   关键字、方法的调用、数组的使用、面向对象、构造方法、方法设计

   方法重载、继承、封装、修饰符、类与类的关系、集合、IO流、线程

   注解等等。在编程之路上这些基础知识是必不可少的。

   下面我分享以下我对一些个别知识点的结构分析与理解。

Swing初识

知识梳理

1.语法结构

 数据类型  变量常量  流程控制  数组使用

2.面向对象--思想

 类和对象  类中成员

 类和类之间的关系  设计模式

 类中特征  权限 特征 抽象类 接口 多态

3.Java工具类

 包装类 日期 数学

 字符串 集合相关 异常

4.I/O

 文件  文件流  递归

5.线程相关

 线程 进程 程序  线程几种不同状态  如何切换

 线程安全问题  锁

6.反射注解

 Class Field Method Constructor Package

 @interface 自定义注解 元注解 通过反射解析注解

7.网络相关

考试系统流程分析

1.登录功能     用户名和密码存在哪里?     文件

2.考试功能     考试题目和答案存在哪?     文件

3.展示功能     GUI Graphical   User  Interface图形用户接口

 GUI    

 Java集合  String

 I/O

 文件

 C------->桌面应用程序

 C/S----> Client   Server     客户端/服务器 QQ

 B/S----> Browser  Server  浏览器/服务器  淘宝

GUI

Graphical   User   Interface

图形用户接口

就是采用图形的方式,进行操作页面的展示

AWT (Abstract Window Toolkit)

Swing 摆动,悬挂的意思

 AWT Swing

窗体 Frame JFrame

面板 Panel JPanel

组件 Button JButton

 Label JLabel

 TextField JTextField

  JPasswordField

  JCheckBox复选框

  JRadioButton单选按钮

  JMenuBar   JMenu  JMenuItem

 TextArea JTextArea文本域

*事件 ActionListener  动作/响应事件

 KeyListener       键盘事件

 MouseListener 鼠标事件

注解分析

注解

   Annotation(注释  注解)

   注释

   单行注释   //

   多行注释   /*      */

   文档注释   /**    */

   注解

   1.注解的写法

     @XXX [(一些信息)]

   2.注解放置在哪里

     类的上面   属性上面  方法上面  构造方法上面  参数前面

   3.注解的作用

1.用来充当注释的作用(仅仅是一个文字的说明)   @Deprecated

2.用来做代码的检测(验证) @Override

*3.可以携带一些信息(内容) 文件.properties  .xml   注解

   4.Java中有一些人家写好的注解供我们使用

@Deprecated     用来说明方法是废弃的

@Override          用来做代码检测   检测此方法是否是一个重写

@SuppressWarnings(信息) String[]    {""}  

 如果数组内的元素只有一个长度  可以省略{}

 unused 变量定义后未被使用

 serial 类实现了序列化接口  不添加序列化ID号

 rawtypes 集合没有定义泛型

 deprecation   方法以废弃    

 *unchecked   出现了泛型的问题  可以不检测

 all 包含了以上所有(不推荐)

   5.注解中可以携带信息  可以不携带

信息不能随意写   信息的类型只能是如下的类型

1.基本数据类型

2.String类型

3.枚举类型enum

4.注解类型@

5.数组类型[]   数组的内部需要是如上的四种类型

   6.如何自己描述一个注解类型

1.通过@interface 定义一个新的注解类型

2.发现写法与接口非常相似(可以利用接口的特点来记忆注解)

 可以描述public static final的属性  比较少见

 可以描述public abstract的方法  方法要求返回值必须有  返回值类型是如上那些

3.我们自己定义的注解如果想要拿来使用

 光定义还不够  还需要做很多细致的说明(需要利用Java提供好的注解来说明)

 元注解(也是注解 不是拿来使用的 是用来说明注解)

 @Target 描述当前的这个注解可以放置在哪里写的

 @Retention  描述当前的这个注解存在什么作用域中的

  源代码文件--->编译--->字节码文件--->加载--->内存执行

  SOURCE        CLASS          RUNTIME

 @Inherited   描述当前这个注解是否能被子类对象继承

 @Document   描述这个注解是否能被文档所记录

4.自己使用自己描述的注解

 问题1.  在注解里面描述了一个方法   方法没有参数   方法是有返回值String[]

  使用注解的时候   让我们传递参数

  理解为  注解的方法做事   将我们传递给他的参数  搬运走了  给了别人

 问题2.  使用别人写好的注解不用写方法名  我们自己定义的方法必须写名字

  如果我们自己定义的注解  只有一个方法  方法名字叫value

  在使用的时候就可以省略方法名  

  如果传递的信息是一个数组   数组内只有一个元素  可以省略{}

  如果方法是两个以上  每一个方法必须写名字

如何解析注解内携带的信息(反射机制)

   注解应用场景

Properties类的使用

 java.util

 继承HashTable

 使用方式像是map集合     value = getProperty(key)方法

 读取的信息是文件

 文件的后缀名.properties

 文件里面key=value

1.注解写法

 @XXXX (信息)

2.注解放置在哪里写

 类  方法  属性  构造  变量  参数(前面)

3.Java中定义好的注解

 @Deprecated 废弃的

 @Override 检测方法是否是重写

 @SuppressWarnings   去掉程序中的警告(尽量不要用  尽量通过编写代码去掉警告)

  unused   serial   rawtypes    deprecation   unchecked   all

4.如何自己定义注解

 描述一个自己的类    @interface

 类的上面通过元注解来描述

  @Target

  @Retention

  @Inherited

 想要携带一些信息   自定义注解类型  添加方法

  方法要求必须有返回值  返回值类型   基本  String  枚举  注解  数组

  方法的作用将我们传递的信息  搬走了  交给别人

5.注解的作用

 充当注释  仅仅是一个文字说明

 代码检测  @Override

 *携带信息

6.如何访问到注解对象

   如何获取里面的信息(需要反射机制)

7.注解在开发中应用的场景

  • 以上多数是关于Java注解(初始+元注解+自定义)知识点分析。
目录
相关文章
|
17天前
|
Java 数据挖掘
java实践
【4月更文挑战第9天】java实践
12 1
|
8月前
|
XML 安全 Java
阿里P8大牛推荐Java程序员必看的 13 本 Java 书籍
关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单。 在下面这 13 本书籍中小编还是要建议大家可以先去关注英文原版,毕竟翻译的书籍中都有一定的语法错误。
|
8月前
|
消息中间件 NoSQL Java
黑马的JAVA学习路线--详解JAVA部分的学习
黑马的JAVA学习路线--详解JAVA部分的学习 CSDN 转过来的,所以格式与内容有些许错误请见谅
|
分布式计算 Java 开发工具
JAVA技术入门
Java技术入门 Java语言是由Sun公司于1995年推出的一种全新的、跨平台、适合于分布式计算环境的纯面向对象编程语言。
103 0
JAVA技术入门
|
SQL JavaScript 算法
踉踉跄跄的Java之路
踉踉跄跄的Java之路
踉踉跄跄的Java之路
|
XML 设计模式 SQL
2022 Java 企业面试题汇总
Java 基础部分 请列举至少三个JDK安装目录下的课程性程序(javac) 请分析命题:“Java采用自动垃圾回收技术(GC),因此不会出现内存泄露” 简单描述单子模式(单例模式)的各种不同实现方式,极其各自优缺点。请列举至少2种其他的设计模式及应用场景。 使用二分查找法找字符串数组{“a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”}中”g”元素 Java代码实现一个链表结构 Object类(或子类)的finalize()方法在什么情况下被调用? 请列出你所了解的若干个不同类型的runtime exception 数组String[] str和String str分别怎么获取长
2022 Java 企业面试题汇总
|
开发框架 分布式计算 安全
Java小史:Java简介和现状
简单介绍下Java的前世今生和现状
207 0
Java小史:Java简介和现状
|
Oracle 安全 前端开发
java面试:谈谈你对java平台的理解?
java面试:谈谈你对java平台的理解?
java面试:谈谈你对java平台的理解?
|
设计模式 SQL 消息中间件
Java技术面试问题小结
Java技术面试问题小结
Java 18可以期待什么
java17正式于2021年9月14日实现全面可用 ,java官方发布了迄今为止为快的java17,且作为长期支持版本,可免费用于商用。 对于G1GC(默认),Java 17比Java 11快8.66%,比Java 16快2.41%。 对于ParallelGC,Java 17比Java 11快6.54%,比Java 16快 0.37%。 Parallel GC比G1 GC快16.39%。 既然Java 17已经是史上最快了?那么,Java18还有哪些可以期待的?
239 0