自己对Java的一些认识
作为一个理论性比较强的学生,谈一下这段时间对java以及对程序设计的理解
java相对于其它语言有几个特点,一个是面向对象,一个是强类型
首先谈谈面向对象,关于类和对象,这个一定要有深刻的认识,在类中,首先一个最重要的概念就是构造方法,为什么说它重要,就是因为你只要需要创建一个类地实例对象就需要调用到构造方法,这个就决定了这个类一开始要做什么,还是举一个例子吧
比如说BrfferedReader类,这个的构造方法就是BrfferedReader(Reader in)为什么它的构造方法里的参数是一个Reader对象呢?
因为它就是为了操作字符流对象产生的,构造它就必须要关联一个字符读取流对象,这样你就很好理解它要做什么了。
看完构造方法,我们接下来要看的就是具体类地方法,这个直接说明了它能操作什么,有什么功能,在方法中返回值也很重要,这时不得不提到java的强类型,真因为这样,你必须要了解一个方法具体的返回值,是对象还是那种数据类型,这样你才好定义容器或者相应的类来接收这个返回值,才好进行接下来的操作。
对于如何找到我们需要的方法,面向对象有三个特点封装,继承,多态。封装的理解,就是方法时封装在对象里的,这样理解就可以了,当我们需要具体的方法时,去找相应类对象就可以了。而继承,就是抽取公有的方法形成父类,其实我们在查阅api时,经常会在一个类当中没有找到我们相要的方法,这时我们就应该想到它的父类或者子类的相应方法,看看它的父类和子类,就可以找到我们需要的方法,一般api里有一个另请参见的选项,列出了一些常用的方法,包括继承来的方法。多态,其实应用最多的就是传递参数的时候,定义父类的对象,这样既可以传父类也可以传子类,大大扩展了方法的操作范围。
上面只是谈到了一些关于如何利用对面向对象的理解来运用API文档的查阅功能,因为我们在以后的学习和开发中不可能对每个类都详细的了解,所以要适应对陌生类地查阅和使用,掌握正确的API查询方式很重要,下面简单介绍一些API的使用
介绍一些重要的包及其类:
1)java.lang———这个包包含了一些形成语言核心的类,提供了类似Character、Integer和Double这样的封装类。它还提供了系统标准类,如String和StringBuffer。Java编辑器总是自动装载这个包。因而一般不必显示导入java.lang中的任何类。这个包中的许多类在本书的许多其他章节还将叙述。
2)java.applet———这个包提供了创建Java applet的途径,Java applet运行在Web浏览器下,通常通过Internet下载。
3)java.awt———是由许多组成Java的抽象视窗工具(awt)的类所组成的包,它提供了基于类的图形用户界面,可以为Java applet和应用程序编程提供视窗、按钮、对话框及其他控件。
4)java.net———这个包提供了网络、套接字处理器和Internet实用工具类。
5)java.io———这个包中的类提供了输入输出服务,用于读出和写入文件数据,访问键盘输入和打印输出。
6)java.util———这个包包含为任务设置的实用程序类和集合框架类,每一个Java应用程序和Java applet可能至少会用到这个包中的一个类。另外它还提供了Collection接口和它的实现容器类,如List和Set。
7)java.rmi———远程方法启用包,在这个包中的类提供了通过远程接口控制的分布式代码的支持。通过该包中的类,可以创建Java应用程序,使它的不同部分在不同的系统中一起运行。
8)java.sql———这个包提供了结构化查询语言数据库字段类型和方法的实现。根据系统的不同,这个包的类可能会通过一个特定的数据库系统实现,或者缺省时通过ODBC(开放数据库连接)标准的直接映射实现。
这个可以了解具体的包,还有API的搜索选项,可以直接查找自己所要找的类。
对于实在不明白的类方法,可以自己去敲一下,验证一下,往往自己运用一下就明白了。
多实践,相信大家都能做到的,加油。
自己对Java的一些认识的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
- c#与java的区别
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...
随机推荐
- 我的Linux系统九阴真经
在今天,互联网的迅猛发展,科技技术也日新月异,各种编程技术也如雨后春笋一样,冒出尖来了.各种创业公司也百花齐放百家争鸣,特别是针对服务行业,新型互联网服务行业,共享经济等概念的公司,越来越多.有一些公 ...
- python 模块之-re
就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹 ...
- Spring AOP动态代理原理与实现方式
AOP:面向切面.面向方面.面向接口是一种横切技术横切技术运用:1.事务管理: (1)数据库事务:(2)编程事务(3)声明事物:Spring AOP-->声明事物 2.日志处理:3.安全验证 ...
- 自学Linux Shell8.2-linux逻辑卷LVM管理
点击返回 自学Linux命令行与Shell脚本之路 8.2-linux逻辑卷LVM管理 Linux逻辑卷管理器软件包用来通过将另外一个硬盘上的分区加入已有文件系统,动态地添加存储空间. 1. 逻辑卷L ...
- [luogu2149][bzoj1880][SDOI2009]Elaxia的路线【拓扑排序+最短路+DP】
题目描述 最近,Elaxia和w的关系特别好,他们很想整天在一起,但是大学的学习太紧张了,他们 必须合理地安排两个人在一起的时间. Elaxia和w每天都要奔波于宿舍和实验室之间,他们 希望在节约时间 ...
- luogu4197 Peaks (kruskal重构树+主席树)
按照边权排序建出kruskal重构树,每次就变成了先找一个权值<=x的最远的祖先,然后看这个子树的第k小.离散化一下,在dfs序上做主席树即可 而且只需要建叶节点的主席树 注意输出的是第k小点的 ...
- luogu4849 寻找宝藏 (cdq分治+dp)
设f[i]是已经走到i号点的值. 先要给第四维离散化.然后去重 第一维排序,第二维cdq分治,第三维cdq分治,第四维树状数组,找到满足j(x,y,z,w)<=i(x,y,z,w)的j,给i统计 ...
- linux 分区、目录及用途
主要分区: 目录 建议大小 格式 描述 / 10G-20G ext4 根目录 swap <2048M swap 交换空间 /boot 200M左右 ext4 Linux的内核及引导系统程序所需要 ...
- Mysql服务器处理客户端请求流程
在日常执行mysql语句的过程中,都是客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果). 看似很简单,其实不然,这内容有很多东西是需要注意的 ...
- AutoCompleteTextView和自定义的CursorAdapter
用雅虎天气接口和AutoCompleteTextView开发天气应用(1) 2014/03/20 | 分类: ANDROID, 开发 | 2 条评论 | 标签: 天气, 安卓开发 分享到:5 jQue ...