java 基础知识(知识点)

1.java 有类的 重写和重载2种:重载是同一类中,方法名相同,参数不同的方法;而重写是子类继承父类方法,重新编写 (@Override)

【注】oc 没有重载只有重写,并且还叫重载

2.static :表示类的意思;如果 修饰属性,表示这个属性为全局的属性,并且所有的成员变量的这个属性都是相同的值;

修饰 方法,表示这个方法为类方法,类方法只能调用类属性;

3非静态代码块 想一个不带参数的构造器,而静态代码块(static修饰)会先执行,并且只执行一次(类加载的时候)

4.extends :继承关键字

5.final: 最终的,修饰 属性 - > 不能被修改;修饰方法 -> 不能被重写 ;修饰类 -> 不能被继承,扩展;

6.abstract :抽象;修饰方法:没有方法体,只有方法声明(抽象方法);修饰类,不能被实例化(抽象类)

ps:抽象方法的类一定是抽象类,但抽象类里边不一定有抽象方法

7.interface定义接口  implement实现接口

ps:一个类可以实现多个接口,多个接口实现用“,”分开

8.try catch  异常处理机制 finally  ;throws抛出异常

9.属性修饰符:

作用域           当前类  同一包内   子孙类      其他包

public              √           √             √            √

protected        √            √             √            ×

default            √            √             ×            ×

private            √            ×             ×            ×

10.集合(collections)

set 无序,不可重复

list 有序,可重复

map 键值对

11.iterator 递归 (it.hasNext  it.next())(Enumeration);

12.instanceof 判断对象是否属于某个类(true 属于),例:( o instance person2 )

13.treeset 自带排序功能(可以为本身支持的类型排序-默认升序)

13.1可以为指定的元素,自定义排序的功能: 元素自身具有比较性实现Comparable接口 覆盖compareTo方法 - 元素里边写方法

compareTo 返回0:相等;负数:当前元素小;整数:当前元素大

13.2创建comparator,在外部实现自定义排序,属性不需要实现

14.properties 属性文件

15.collection.synchronizedList() 方法来得到一个线程安全的集合

16.IO 流:

InputStream   FileInputStream        BufferedInputStream     objectInputStream

OutputStream  FileOutputStream       BufferedOutputStream    objectOutOutStream

Reader        FileReader             BufferedReader          InputStreamReader

Writer                  FileWriter                               BufferedWriter          OutputStreamWriter

16.1.serializble 对象的输入输出流,对象实现这个接口

类的版本号:用于对象的序列化

16.2 RandomAccessFile ,有一个指向文件内容的指针,通过 seek()方法移动指针

17.常用类

17.1 String 不可变

StringBuffer(线程安全),StringBuilder(线程不安全)可变的字符串

17.2 Date 日期  DateFormat

18反射 class ,是一个类照镜子的到的,获取class 有三种方法,常用的是用全类名的方法来获取

对class的描述 Field:属性      Method:方法     consortctor :构造器

18.多线程有2种实现方法:1.继承Thread 类  2.实现Runnable接口

时间: 2024-10-02 22:24:30

java 基础知识(知识点)的相关文章

【java基础知识总结】-特别针对零基础学习JAVA的初学者

JAVA基础知识总结,对于大多数想要学习JAVA编程语言的人员来说或者对于那些已经在学习路上的新手来说,掌握以下的JAVA基础知识,或许将更有利于你快速掌握好这门语言.以下是本人对JAVA基础知识做了一下小结,如有纰漏,还望大家不吝赐教. 1.对象的初始化 (1)非静态对象的初始化 在创建对象时,对象所在类的所有数据成员会首先进行初始化. 基本类型:int型,初始化为0. 如果为对象:这些对象会按顺序初始化. ※在所有类成员初始化完成之后,才调用本类的构造方法创建对象. 构造方法的作用就是初始化

长沙软件培训:Java基础知识总结(一)

Java本身知识点非常多,长沙软件培训在这里不做全面论述,仅做为一个引子,以增进理解和记忆,欢迎各位朋友与我进行探讨,共同进步. Java基础知识总结(一) 1. import关键字 (1)import语句必须定义在所有的class定义之前. (2)import语句只是为编译器指明了一个路径,并不像C或C++中的#include,所以用import .*并不影响性能 2.Java中的类名与文件名 (1).在一个java文件中可以有多于一个类定义(更常见于某些组件的监听器类),但只能有一个 pub

java基础知识回顾之java Thread类学习(八)--java多线程通信等待唤醒机制经典应用(生产者消费者)

 *java多线程--等待唤醒机制:经典的体现"生产者和消费者模型 *对于此模型,应该明确以下几点: *1.生产者仅仅在仓库未满的时候生产,仓库满了则停止生产. *2.消费者仅仅在有产品的时候才能消费,仓空则等待. *3.当消费者发现仓储没有产品可消费的时候,会唤醒等待生产者生产. *4.生产者在生产出可以消费的产品的时候,应该通知等待的消费者去消费. 下面先介绍个简单的生产者消费者例子:本例只适用于两个线程,一个线程生产,一个线程负责消费. 生产一个资源,就得消费一个资源. 代码如下: pub

java基础知识回顾之java Thread类学习(七)--java多线程通信等待唤醒机制(wait和notify,notifyAll)

1.wait和notify,notifyAll: wait和notify,notifyAll是Object类方法,因为等待和唤醒必须是同一个锁,不可以对不同锁中的线程进行唤醒,而锁可以是任意对象,所以可以被任意对象调用的方法,定义在Object基类中. wait()方法:对此对象调用wait方法导致本线程放弃对象锁,让线程处于冻结状态,进入等待线程的线程池当中.wait是指已经进入同步锁的线程,让自己暂时让出同步锁,以便使其他正在等待此锁的线程可以进入同步锁并运行,只有其它线程调用notify方

java基础知识回顾之java Thread类学习(六)--java多线程同步函数用的锁

1.验证同步函数使用的锁----普通方法使用的锁 思路:创建两个线程,同时操作同一个资源,还是用卖票的例子来验证.创建好两个线程t1,t2,t1线程走同步代码块操作tickets,t2,线程走同步函数封装的代码操作tickets,同步代码块中的锁我们可以指定.假设我们事先不知道同步函数用的是什么锁:如果在同步代码块中指定的某个锁(测试)和同步函数用的锁相同,就不会出现线程安全问题,如果锁不相同,就会发生线程安全问题. 看下面的代码:t1线程用的同步锁是obj,t2线程在操作同步函数的资源,假设不

第1天:了解Java基础知识

Java的优势 1. 简单 不像C或者C++语言,Java中省去了对指针的操作.但是,Java中并没有省去指针,代替指针的是一种新的变量--引用,引用也是保存一个对象的内存地址. 2.方便 Java虚拟机自带垃圾回收器,能够自动回收内存资源.而C和C++语言,需要开发人员手动进行内存资源回收. 3.安全 不支持指针操作 4.平台无关性 Java语言是跨平台的,一次编译,到处运行. 而且,不同平台,C语言中数据类型所占的位数是不同的,而Java语言中,数据类型所占的位数是固定的. 5.面向对象 J

JAVA基础知识-java文化基础和运行环境

JAVA基础知识 1,java是95年sun公司推出的开发语言,发展很快,09年被oracle公司收购.至今分为SE.ME.EE三个发展方向和软件版本. 2,运行java的环境主要是通过JVM(java virtual machine)实现的.首先编写.java结尾的源文件,通过编译器编译成.class结尾的字节码文件,然后通过解释器实现在不同平台上一致运行的效果. 3,jvm,jre和jdk的区别:jvm,java虚拟机:jre,java运行环境,jdk:java开发工具包. 4,jdk的下载

java基础知识回顾之javaIO类--管道流PipedOutputStream和PipedIutputStream

管道流(线程通信流):管道流的主要作用是可以进行两个线程间的通讯,分为管道输出流(PipedOutputStream).管道输入流(PipedInputStream),如果想要进行管道输出,则必须要把输出流连在输入流之上.如图所示: 1.管道输入流应该连接到管道输出流 ,输入流和输出流可以直接连接       2.使用多线程操作,结合线程进行操作.通常由某个线程从管道输入流中(PipedInputStream)对象读取.          并由其他线程将其写入到相应的端到输出流中.不能使用单线程

Java基础知识——类装载器与反射机制

类装载器ClassLoader 类装载器就是寻找类的字节码文件,并构造出类在JVM内部表示的对象组件. 类装载器把一个类装入JVM中,要经过三步: 1.装载:查找和导入Class文件: 2.链接:执行校验.准备和解析(解析是可以选择的): 3.初始化:对类的静态变量.静态代码块执行初始化工作: 类装载工作由ClassLoader及其子类负责.JVM在运行时会产生三个ClassLoader:根装载器.ExtClassLoader(扩展类装载器)和AppClassLoader(系统类装载器). 根装

JAVA基础知识整理

一.首先先明白get与post的基本定义和区别: 这是两种在客户端和服务器端进行请求-响应的方法. 1get:从指定的资源请求数据. 2post:向指定的资源提交要处理的数据. get基本上用于从服务器取回数据,注意:get方法可能返回缓存数据. post可以从服务器上获取数据,不过,post方法不会缓存数据,并且常用语连同请求一起发送数据. 二. Jquery $.get()方法. $.get()方法通过Http Get发起请求,从服务器上请求数据. 语法:&.get(URL,callback