类中可以有几种东西:属性,方法,构造器,初始化块



new创建对象时,

1.类属性和类初始化块分配空间。

2.执行默认初始化

如有父类,先为父类执行父类自己的1和2步骤,再执行上面的1和2。

一个类执行new多个对象,类属性和类初始化块只初始化一次。





private:属性和方法只能在该类内访问

default:同一个包的其他类可以访问

protected:同一个包的其他类可以访问;不同包的子类也可以访问

public:都行





子类继承父类,除private外,其他都有。



子类改变继承过来的方法时,叫重写。

重写后父类的这个方法便被隐藏了。

如果要调用这个隐藏的方法:

1.子类强制转换为父类

2.通过super





构造器中的this表示当前正在初始化的对象引用。

方法中的this表示当前正在调用此方法的对象引用。

super()和this()不可以同时出现在构造函数中,并且一定要写在第一行。

final类 不能被继承

final方法 不能被重写,但如果父类的final方法为private,子类中的final这个方法,就相当于一个新的方法。

final变量(包括包括类属性、对象属性、局部变量和形参) 需要进行显示初始化,并且之后不能修改。



native方法  不是java语言实现的,而是操作系统提供的动态库。



equals  表示对象内容(特征和属性)相同,不能作用于基本数据类型

==      变量值相同 两个new出来的对象,有不同的hash,所以用这个就会false,但equals是ture





wait             当前线程等待,直到其他线程调用此方法的主调的notify或notifyAll,可指定超时时间

notify/notifyAll 唤醒此对象监视器上等待的单个或全部线程。

wait/notify/notifyAll  方法只能在同步代码(synchronized)块中才能使用





String是不可变字符串对象,s="abcd";s="fde";后"abcd"和"fde"会一直在堆内存里。

StringBuffer线程安全

StringBuilder非线程安全



intern  查找常量池中的对象引用,如果没有,则创建





Strong reference  任何引用=null时,回收内存

Soft Reference    引用1=null,引用2!=null,不回收内存

Weak Reference    引用1=null,弱引用2可能不是null

java基本知识归集的更多相关文章

  1. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  2. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  3. Java基础知识系列——String

    最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...

  4. 学习Spring必学的Java基础知识

    [1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081 [2] Java动态代理-->Spring AOP :http: ...

  5. 学习android学习必备的java基础知识--四大内部类

    学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...

  6. JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)

    本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...

  7. java基础知识梳理

    java基础知识梳理 1 基本数据类型

  8. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  9. java基础理论知识的一些总结

    在学习Java初期,由于我们是刚开始接触Java,我们不仅需要牢牢掌握Java的基础理论知识,来为我们后面对Java更深层次的学习打好基础,而且我们需要养成编程人的思想习惯.来我们一起来探索Java基 ...

随机推荐

  1. DB2 57016报错的解决办法(表状态不正常,导致表无法操作)

    新建了一张表,删除了一列,然后执行insert的时候,报错 57016,解释为:因为表不活动. 1.执行db2 "load query table <tabname>" ...

  2. commit 流程

    COMMIT是一个非常快的操作,当我们发布commit命令时,真正困难的动作已经完成,在数据库中已经执行了数据更改,所以已经完成了99%的任务,例如:下列操作已经产生: 1.在SGA(Buffer C ...

  3. jumpserver-1.4.0.2

    关闭防火墙和selinux IP:192.168.199.115 一. 准备 Python3 和 Python 虚拟环境 yum -y install wget sqlite-devel xz gcc ...

  4. cf-Round551-Div2-C. Serval and Parenthesis Sequence(贪心)

    题目链接:http://codeforces.com/contest/1153/problem/C 题意:给定由'(',')','?'组成的字符串,问是否能将其中的?全部换成'(‘,’)'使得字符串的 ...

  5. l2-22(重排链表)

    题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805057860517888 题意:给定链表L1->L2- ...

  6. CUDA error 100 & Decoder not initialized

    项目中用cuda解码时候遇到该错误,这是调用cuda相关库中一些so库版本错误造成的.

  7. 2018蓝桥杯 全球变暖(dfs)

    你有一张某海域NxN像素的照片,"."表示海洋."#"表示陆地,如下所示:........##.....##........##...####....###.. ...

  8. linux自旋锁、互斥锁、信号量

    为了避免并发,防止竞争.内核提供了一组同步方法来提供对共享数据的保护. 我们的重点不是介绍这些方法的详细用法,而是强调为什么使用这些方法和它们之间的差别. Linux 使用的同步机制可以说从2.0到2 ...

  9. selenium学习一

    chrome版本和chromedriver的对应关系 chromedriver版本 支持的Chrome版本 v2.40 v66-68 v2.39 v66-68 v2.38 v65-67 v2.37 v ...

  10. java_2变量和运算符

    1.变量 存储数据的容器. 2.变量创建的3要素 数据类型 变量名 = 变量值: 如int  a = 10; 3.数据类型的自动转化 当小范围变量向大范围变量转化的时候,会发生这种情况.如int类型变 ...