1、Java快速入门

第一课 Java基础
1. ubuntu上环境搭建 (建议使用我们提供的VMWare映象文件)
如果要自己安装ubuntu, 请参考<韦东山Android系统视频使用手册.pdf>
ubuntu 12.04.5 这是一个长期支持的版本
硬盘空间至少预留80G
a. root分区 : 20G, 从其中划出6G用作swap
b. work分区 : 60G
c. 内存 : 4G

安装Java开发环境
sudo apt-get update
sudo apt-get install openjdk-7-jdk
sudo apt-get install openjdk-7-jre

2. 第1个JAVA程序 (和C对比)

编译的方法:javac Hello.java

运行的方法:java hello

3. JAVA数据类型
基本数据类型:boolean, byte, char(2字节), short, int, long, float, double
引用数据类型:数组、类对象、接口(引用数据类型指的是变量所指向的数据在堆中,比如:int p2[] = {1,2,4},数据1,2,4在堆中,p2在栈上,其值是堆的地址),引用和C语言中的指针比较类似

引用数据类型使用new来分配,不需要自己释放,把变量设为null即可

栈内存、堆内存
数据类型转换(自动转换(发生的前提是数据转换后不会丢失), 强制转换)

short s=1;s=s+1会出错,因为对于byte,short的运算,为了保证精度,会自动转换为int,其不能直接赋给short类型,改为s=(short)(s+1)

sourceinsight编写的文件是以ascii码编译的,java编译器是以UTF-8来解析字符的,所以如果文件中存在汉字,会存在无法解析的情况,所以需要使用UE把该文件转换成UTF-8格式

4. 语句:跟C完全一样

5. 方法(函数)

6. 方法重载、参数传递

重载指的是函数名相同,参数类型或者参数个数不同,返回值类型的不同不是重载

int p[] = new int[1];p[0]=123;fun2(p);这个时候p[0]的值会改变(public static void fun2(int[] p){p[0]=100})

第二课 面向对象程序设计
1. 类的引入
C语言是面向过程的
出一道题:写一个程序,输出张三、李四两个人的姓名

定义一个类(class  A),实例化这个变量(A a),a就是个对象

构造函数格式:public 类名称(类型 参数......)//其没有返回值,可以有多个构造方法

{

  语句;

}

static修饰的类方法属于类,通过“类名.方法”来调用

在类中通过一个大括号”{}”括起来的就是构造块,通过构造块扩起来的代码在任何构造函数被调用之前会被调用执行

大括号“{}”之前加上一个static修饰就是静态代码块,实例化第一个对象之前执行,并且只执行一次,在执行构造块和构造方法,再之后实例化都不会再次执行静态代码块。

类中的main函数通过static修饰是为了让虚拟机不用实例化对象就能执行main函数

2. 封装性

private修饰的变量和方法只能被类的内部方法所访问,不能被外部所访问

private本类可访问;default本包可访问;protected本包、其他包的之类可访问;public所有都可访问

3. 继承性

实例化子类对象时,先调用父类的构造方法,再调用子类的构造方法(如果子类构造函数中没有super等语句,在子类的构造函数中第一行默认会添加一句super();表示调用父类的默认无参构造函数);

如果父类有个构造方法是“类名(参数1)”,则在子类构造方法中第一句加上“super(参数1)”,在实例化一个对象时会先调用父类的构造方法“类名(参数1)”

final类不能有子类;final方法不能被覆写;final变量变成常量,不能被修改

继承的限制:1、父类的private修饰属性和方法不能被之类继承,对应私有属性,如果有公开的方法获得私有属性,子类可以调用该方法

      2、子类覆写的方法不能缩小权限,比如父类的public方法a,子类也只能覆写为public;

在class前加上abstract修饰的类是抽象类,其类内部除了有属性、普通方法外还有抽象方法()在方法的访问权限和返回值之间加上abstract修饰的方法),抽象方法仅需要声明,不需要实现;

抽象类不能实例化对象,子类必须覆写全部抽象方法;

接口:interface 接口名称{全局常量;抽象方法}

接口和抽象类相似,其模板作用,子类可以继承多个接口,子类必须覆写全部抽象方法

(子类只能extends继承一个父类)

class A extends D implements B,C{}//B和C是接口,D是普通类火灾抽象类

4. 多态性

5. 异常
参考文章:
深入理解java异常处理机制
http://blog.csdn.net/hguisu/article/details/6155636

6. 包和权限
javac A.java // 将在当前目录下生成A.class
能否把这些class文件存放于其他目录呢?

jar -cvf my.jar a // 把包a创建为压缩文件my.jar

export CLASSPATH=.:my.jar

7. 内部类

第三课 JNI (Java Native Interface)
1. JAVA调用C
Linux是用C语言写的,可以写一个APP简单调用open,read,write来访问驱动程序;
Android是用Java写的,Java怎么访问C函数?

jni.pdf P117

Android JNI知识简介
http://blog.csdn.net/linweig/article/details/5417319

Android JNI(实现自己的JNI_OnLoad函数)
http://jjf19850615.blog.163.com/blog/static/356881472013342153912/

查看"JNI field descriptors" (JNI字段描述符)
javap -s -p Var.class
JNINativeMethod的参数解析
http://carywei.iteye.com/blog/1075647
http://cs.fit.edu/~ryan/java/language/jni.html
http://blog.csdn.net/conowen/article/details/7524744

2. C调用JAVA
jni.pdf P97

http://blog.csdn.net/lhzjj/article/details/26470999

4步骤:
a. 创建虚拟机
b. 获得class
c. 实例化对象 : 获得构造方法(方法名为"<init>"), 构造参数, 调用方法
d. 调用方法 : 又分为获得方法, 构造参数, 调用方法

读取/设置类中的属性:
a. 获得属性ID
b. 读取/设置

第四课 JAVA高级应用
1. 泛型(Generics)

2. 反射(Reflect)

原文地址:https://www.cnblogs.com/liusiluandzhangkun/p/9102970.html

时间: 2024-10-12 15:26:45

1、Java快速入门的相关文章

NetBeans工具学习之道:NetBeans IDE Java 快速入门教程

欢迎使用 NetBeans IDE! 本教程通过指导您创建一个简单的 "Hello World" Java 控制台应用程序,简要介绍 NetBeans IDE 工作流.学习完本教程后,您将对如何在 IDE 中创建和运行应用程序有一个基本了解. 学习完本教程所需的时间不到 10 分钟. 学完本教程后,您可以转至文档.培训和支持页中链接的学习资源.这些学习资源提供了综合性教程,其中重点介绍适用各种应用程序类型的更多 IDE 功能和编程技巧.如果您不希望创建 "Hello Worl

.Net程序员玩转Android系列之一~Java快速入门

前段时间受公司业务发展需要,探索性进入Android开发领域.一切从零开始,java基础,Java进阶,Android框架学习,Eclipse熟悉,最终到第一个即时通讯App完成,历经一个月的时间.实现内容包含一个即时通讯服务端,Mysql数据库搭建,Android客户端通讯App.完成之后公司出于战略考虑,暂时放弃了Android.让我觉得,哎,还是不要太相信领导的话为好...>..<...趁着记忆还不算模糊,打算把这段经历和学习过程记录下来,以备日后需要. 只会一门语言的只能称之为技术人员

Java快速入门,从这六条技能开始

一.掌握静态方法和属性 静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征.Java中大量应用了静态方法和属性,这是一个通常的技巧.但是这种技巧在很多语言中不被频繁地使用.理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用.因此学习者应该理解静态方法和属性.Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的. 二.重视接口 在面向对象早期的应用中大量使用了类继承.随着软件工程理论的不断发展,人们开始

JAVA快速入门方法

1.JAVA运行环境搭建(tomcat): 2.JAVA开发环境搭建(intellij idea, eclipse, myeclipse): 3.JAVA基本语法,Web知识初步(html表单,cookie,session): 4.数据库基础知识(mysql数据库,sql cookbook): 5.JAVA WEB开发框架基本原理及配置(Spring MVC, mybatis ...): 6.开源代码学习(step by step) (1)ZBLOG(代码:https://github.com/

Learn Gradle - CH 3 Java 快速入门

上一章(链接)我们主要对Gradle的脚本进行了简要的介绍,本章我们将继续学习Gradle的另外一个特性--插件(plugins). 1.插件介绍 插件是对Gradle功能的扩展,Gradle有着丰富的插件,你可以在这里搜索相关插件(传送门).本章将简要介绍Gradle的Java插件(Java plugin),这个插件会给你的构建项目添加一些任务,比如编译java类.执行单元测试和将编译的class文件打包成jar文件等. Java插件是基于约定的(约定优于配置),它在项目的很多方面定义了默认值

Java:Java快速入门

源代码组织方式 Java程序由package+class组成,package对应目录的相对路径. 1 package com.happyframework.javastudy.hello;2 3 public final class Hello {4 public static void hello(){5 System.out.println("hello!");6 }7 }关于class有如下几点规则: 文件的名字必须和class的名字一致(public级别的class名字).文件

Gradle用户指南(章9:Groovy快速入门)

Gradle用户指南(章9:Groovy快速入门) 你可以使用groovy插件来构建groovy项目.这个插件继承了java插件的功能,且扩展了groovy编译.你的项目可以包含groovy代码.java代码或者两者混合.在其他方面,groovy项目与java项目是一致的,就像我们在章7:java快速入门中所看到的那样. 一个简单的groovy项目 让我们来看一个示例.使用groovy插件,需要添加下面的代码得到你的构建文件中. 注意:示例代码在gradle发布的源文件包的路径samples/g

RPC学习----Thrift快速入门和Java简单示例

一.什么是RPC? RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据.在OSI网络通信模型中,RPC跨越了传输层和应用层.RPC使得开发包括网络分布式多程序在内的应用程序更加容易. 二.什么是Thrift? thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和

Java Web快速入门——全十讲

Java Web快速入门——全十讲 这是一次培训的讲义,就是我在给学生讲的过程中记录下来的,非常完整,原来发表在Blog上,我感觉这里的学生可能更需要. 内容比较长,你可以先收藏起来,慢慢看. 第一讲(参考<Java Web程序设计基础教程>第1章)1 JSP 和 Java的关系 一般Java指的标注版 Java SE   另外两个版本:Java EE 和 Java ME JSP属于Java EE的一部分.   Java EE:     组件:Web层组件(JSP+Servlet)+业务层组件