Lesson1
1、java与c的关系及不同
.c-----.obj------.exe .exe已经是机器码(含有cup的指令) 编译型语言
.java--编译--.class jdk(JVM javaCPU)解释执行解释型语言
Java字节码是使用javac命令编译源代码后得到的class代码。字节码可以理解成是运行在Java虚拟机上的汇编语言。字节码是Java实现跨平台特性的基础。
绿色版:解压后就可以使用jdk 1.5 1.6
命令javac xx.java java xx
jdk:Java开发工具
jre:Java运行环境
jvm:Java虚拟机(JVM javaCPU)
D:\software\jdk\bin
path D:\software\jdk\bin
jdk的安装环境变量配置
JA V A_HOME jdk的路径
path %JA V A_HOME%\bin;
java -version--------查看JDK的版本
.net
php LAMP linux apache mysql php
java oracle
ruby
强类型:语法严谨
java 的可移植性portability (跨平台OS)? Windows\Linux\Mac....
java版本javaSE(标准版) GUI:图形用户界面C/S
javaEE(企业版) B/S
javaME(微型版) 游戏
SQL Server2008 MySQL
Android cocos2D
ststruts(MVC) spring hibernate SSH2 设计模式
eg:人类
抽象分离封装
属性: 身高体重名字===========>成员变量=========>类
行为:吃睡玩想===========>成员方法=========>类
3、对象:是类的一个实例,它属于一个类
创建一个对象做了几件事情?
String s1 = "hello";
String s2 = new String("hello");创建了几个对象?
4、java 的命名规则见名知意
类名首字母大写class Person Clock
成员变量/方法小写int height; getName();setName();
驼峰命名法
常量大写int WIDTH=300;
5、一个.java文件就是一个编译单元.一个编译单元里面,只能有一个public修饰的类,文件名必须和public修饰的类的类名相同. 但,类的功能要单一化.
6、java 的基本数据类型
类型字节数默认值封装类
byte 1 0 https://www.doczj.com/doc/b717069536.html,ng.Byte
char 2 '\u0000' Character
int 4 0 Integer
float 4 0 Float
double 8 0 Double
boolean 1 false Boolean
1 byte = 8 bit;
float f=2.3f;
2.3f===>float
2.3===>double
double d = 2.3f;
float f = 2.3; float f = (float)2.3;
低精度向高精度转化,会自动类型转化(向上造型)
高精度向低精度转化,要强制类型转化(向下造型)
注:java中的boolean只有true和false,不像C中0表示假,非0表示为真
while(true){}
while(1==1){}
7、标识符:由字母、数字、下划线和$符号组成,但不能以数字开头的字符串。不能是保留字。if case while else ....
$ad34 _sdf324 325_sdf goto const
java中有哪些关键字保留字
8、方法的定义:
修饰符返回值类型方法名( 参数表){
方法体
}
void f(){
}
public int getNumber(String s,int i){
return 2;
}
9、运算符:
算术% ++ -- 5%2 2%5 -2%5 2%-5 -2%-5 2.3%5
y+=x++; y=y+x, x=x+1; 先运算再自加
y+=++x; x=x+1,y=y+x; 先自加再运算
关系> < == !=
赋值= += -+ %= /=
逻辑&& || ! & |
假&&真真&&假x=3; 3>4&&x++>1
真||假假||真x=3; 3>2||x++>1
条件表达式1 ? 表达式2 : 表达式3
if(xxx){
}else{
}
10、java中的数组:
和C中的不一样,C中的数组是一个简单的内存块.
a[6] error ArrayIndexOutofBoundsException 数组越界异常
int[] a = new int[]{1,2,3,4,5};
int[] a = {1,2,3,4,5};
String[] s = new String[5];
String[] s1 = new String[]{"abc","df","gf"};
s1[1].concat(s[2]).toUpperCase();
Animal[] an={new Dog(),new Person(),new Pig()};
for-each
下标法
编译时报错,一定是语法错误;
运行时报错,一定是异常;
11、java的流程控制语句
if(表达式){ } ture/false
if( ){
}else{
}
if(){
}else if(){
}else if(){
}else{
}
switch(变量) 只能是以下类型byte char short int
case 1 : xx break;
case 2 : xx break;
default : xx
while(表达式){ } for循环for-each循环do{表达式} while( ); continue; break;
使用要点:break只能用在循环语句和switch语句中。
功能:结束本次循环,接着判定下一次是否执行循环。
continue与break的区别:
continue直结束本此循环,而break终止本层循环.
例:把100~200之间的不能被3整除的数输出.
作业1:
1、jdk环境变量的配置,dos命令的熟练运用
2、定义一个矩形类Rectangle,声明两个方法分别能求得其周长和面积
3、定义一个Watch类,声明两个方法分别能设置时间和显示时间
4、String 了解方法
String str = "2010-5-210:53:30"=======>2010524105330
2013-12-02 17:08:30
Lesson2
1、值传递和地址传递
2、构造函数:
<1.函数名与类名相同
<2.没有返回值类型,从某种意义上来讲,返回的是这个类的对象
<3.我们在创建对象的时候调用构造函数,用new关键字来调用Rect rec=new Rect();
<4.作用:创建和初始化该类的对象,给成员变量赋初值
<5.系统提供给我们一个默认的无参构造函数.如果我们定义了新的构造函数,默认的构造函数就不存在了.
<6.我们可以用this这个关键字来调用兄弟构造函数,此句必须放在第一句.
3、this的3用法:
4、String类中方法的使用以及String、StringBuffer和StringBuilder的区别:
String定义的对象是不可修改的。
StringBuffer 同步效率低
StringBuilder 不同步效率高
StringBuffer sb=new StringBuffer("hello");
StringBuffer向String转化
方法2:
String str1=new String(sb);
5、基本数据类型的封装类的运用:
Integer类中的两个方法
parseInt() toString()
Double Float Character Boolean
整形==3种===>字符串===2种==>整形Integer String
6、命令行参数:
命令行参数是程序执行中紧跟在程序名后面的信息。java Test5 hello everyone!
它们作为字符串存储在传递给main()的String数组中,所有的命令行参数都是以字符串形式传递的。
静态加载(缺点):在编译的时候就要把这个类对象加载进来,如果这个类不存在,就要报错.
7、关键字:package import
包:相当于目录(文件夹)
package 打包范围大--->小com.gem.test;
import 导包https://www.doczj.com/doc/b717069536.html,ng包下的类是不需要导包的
同时使用时应注意顺序:
对于.java文件而言,包名就是包名;对其进行编译,一定要在当前包下。
对于.class文件而言,包名是.class文件的前缀名,运行时,要退出当前包。
面向对象四大特性:多态继承封装抽象
8、方法重载(多态性的体现) overload
在一个类中,存在着这样一组方法:方法名相同,参数表不同(类型不同,个数不同,顺序不同),与返回值类型无关
9、构造函数重载(多态性的体现)
10、四大访问修饰符(public protected private default)
public 公共的同一包不同包
protected 受保护的同一包不同包(子类)
default 缺省的只能在同一包下相互访问
定义类的修饰符:public default
在一个类中有哪些元素
成员变量方法构造函数
作业2:
1、利用String类中的方法,将一个字符串倒叙输出(熟练使用String类中的方法)
2、从键盘输入两个值,求得其最大公约数、最小公倍数
3、定义一个数组,数组的大小是一个随机数,数组中的元素也都是随机数
4、随机产生一个随机数,然后接受键盘的输入值,猜大猜小,直到猜对为止Math.random();
Scanner in = new Scanner(System.in);
(练习的代码打包在lesson4里面)
Lesson3:
1、static关键字
(1、来由:静态的东西是大家共有的,且只被加载(初始化)一次.
静态的东西是属于类的,所以可以用类名直接访问.
代码举例1:
public class Test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
f();
Test1 test = new Test1();
test.g();
}
public static void f(){
System.out.println("hello");
}
public void g(){
System.out.println("world");
}
}
(2、静态的方法只可以访问静态成员(变量or方法),不能访问非静态成员;非静态的方法可以访问静态成员
知识点代码举例1:
int age;
static String room = "G01";
public void study(){
System.out.println("stduy...");
sleep();
}
public static void sleep(){
System.out.println(room);
// study(); error
}
}
public class Test2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student tom = new Student();
tom.study();
System.out.println(https://www.doczj.com/doc/b717069536.html,);
// tom.sleep(); 不提倡
Student.sleep();
//Math.max(3, 66);
System.out.println(Student.room);
}
}
(3、类的初始化顺序:
先初始化静态成员===》再调用构造函数来初始化非静态成员(非静态成员初始化执行完毕之后,构造函数才能执行结束)
知识点代码举例1:
class A{
int i;
{
i = 1;
System.out.println("aaa");
}
static{
System.out.println("bbb");
}
A(){
System.out.println("ccc");
}
}
new A();
}
}
(4、..........静态的方法中不能以任何方式引用this或super关键字
(5、*当构造函数私有时,我们如何在类的外部创建该类的实例(单例模式)
单例模式代码举例:
class SingleTon{
private static SingleTon st;
//私有的构造函数
private SingleTon(){}
public void show(){}
//synchronized 同步效率低安全的
//静态同步的方法,返回该类的对象
public static synchronized SingleTon getInstance(){
//SingleTon st1 = new SingleTon();
if(st == null){
st = new SingleTon();
}
return st;
}
}
public class Test13 {
public static void main(String[] args) {
//SingleTon st1 = new SingleTon();
//SingleTon st2 = new SingleTon();
}
}
2、继承(extends)
继承:是OOP(Object Oriented Programming)编程技术的一块基石。它意味着基于一个已经定义好的类创建一个新的类,新的类将以某种方式扩展原有的类。体现的是is-a的关系。
OOA analyse OOD design
在OOP的编程中,继承意味着新的类来自父类,且每个类都有一个直接的父类。父类或者显示定义的,或者隐式规定的,如果没有显示地定义父类,那隐含的父类就是Object类。
好处:代码的可重用性缺点:依赖性太强(低藕合高内聚)
继承:就是一个类得到另一个类所有属性的过程。私有成员有没有被继承过来?
有!
类,继承都是单继承why?
知识点代码举例1:
class Animal{
private String food = "KFC";
Animal(){}
public void eat(){
System.out.println(this.food);
}
public void sleep(){}
}
class Person extends Animal{
Person(){}
public void think(){}
public void speak(){}
}
public class Test5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Animal aa = new Animal();
aa.eat();
aa.sleep();
Person pp = new Person();
pp.eat();
pp.sleep();
pp.think();
pp.speak();
// System.out.println(pp.food);
}
}
预习:
class A extends Object
{
}
a.equals();
a.toString();
3、super关键字的3种用法(this对照起来记忆) (1)调用父类无参构造函数;
知识点代码举例1:
class Vehicle{
String name = "abc";
Vehicle(){
super();
System.out.println("hello");
}
Vehicle(int i){
this();//调用兄弟构造函数
System.out.println("--------");
}
public void move(){
System.out.println(https://www.doczj.com/doc/b717069536.html,);
}
public void f(){
this.move(); //move();
}
}
class Car extends Vehicle{
String name = "kfc";
Car(){
super(); //作用:调用父类的无参构造函数
System.out.println("world");
}
Car(int i){
super(i);
System.out.println("++++++++");
}
public void drive(){
System.out.println(https://www.doczj.com/doc/b717069536.html,); //访问本类中的name属性
System.out.println(https://www.doczj.com/doc/b717069536.html,);//访问父类中的name属性
super.move(); //move(); 调用父类中的成员方法}
}
public class Test6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Car cc = new Car(3);
cc.drive();
}
}
知识点代码举例2:
//public Fruit(){}
public Fruit(String name, int price) {
https://www.doczj.com/doc/b717069536.html, = name;
this.price = price;
}
}
class Apple extends Fruit{
Apple(String name,int price){
super(name,price);
}
public void g(){
System.out.println(https://www.doczj.com/doc/b717069536.html,);
}
}
public class Test7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Apple aa = new Apple("red",5);
System.out.println(https://www.doczj.com/doc/b717069536.html,+" "+aa.price);
}
}
Lesson4:
1、了解Object类中的equals() 和toString()
String、Integer类中的equals()
父类: 基类
子类: 派生类
Object 类是所有类的父类.
equals() 比较的是什么??
输出一个对象:类名@内存地址,就相当于输出这个对象toString()值;
知识点的代码举例1:
class C{
int i = 1;
@Override
public String toString() {
// TODO Auto-generated method stub
return "hello";
}
public static void main(String[] args) {
// TODO Auto-generated method stub
C c1 = new C();
C c2 = new C();
//比较的是两个对象的地址
System.out.println(c1 == c2);
//调用的是Object类中的equals(),比较的是两个对象的地址
System.out.println(c1.equals(c2));
//输出一个对象,就是输出该对象的toString()的返回值
System.out.println(c1);
System.out.println(c1.toString());
}
}
知识点的代码举例2:
public class Test9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1 = "hello";
String s2 = "hello";
System.out.println(s1 == s2);
String s3 = new String("hello");
System.out.println(s1 == s3);
//String类中的equals()比较的是两个对象所指的内容
System.out.println(s1.equals(s2));
System.out.println(s1.equals(s3));
Integer i1 = 12;
Integer i2 = 12;
System.out.println(i1 == i2);
Integer i3 = new Integer(12);
Integer i4 = new Integer("12");
//比较的是地址
System.out.println(i3 == i4);
//比较的是内容
System.out.println(i3.equals(i4));
}
}
2、访问修饰符
private 修饰成员变量、方法:只能在类的内部被访问.
public
构造函数的修饰符:
public default 修饰类
private static int i = 5 ;
private int i;
public void f(){}
3、覆盖(重写override) overload重载
1 存在子父类关系
2 父类的方法在子类中有了新的实现
知识点的代码举例1:(成员变量不构成覆盖)
class Emp{
String name;
int age;
boolean married;
float salary;
public Emp(String name, int age, boolean married, float salary) { super();
https://www.doczj.com/doc/b717069536.html, = name;
this.age = age;
this.married = married;
this.salary = salary;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "姓名:"+name+",年龄:"+age+",薪资:"+salary;
}
}
public class Test10 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Emp tiger = new Emp("张虎",28,false,6000);
System.out.println(tiger);
Emp mouse = new Emp("李昊",23,false,4000);
System.out.println(mouse);
}
4、动态绑定(多态性)
1 构成覆盖
2 父类的引用(对象)引用的是子类的对象。换句话说,把子类的对象当作父类的对象来使用。upcast
3 导致的结果:调用的永远是子类方法。
代码举例1:
class Animal{
public void eat(){
System.out.println("i eat anything...");
}
public void sleep(){
System.out.println("sleep....");
}
}
class Person extends Animal{
public void eat(){
System.out.println("i eat googthing...");
}
public void think(){
System.out.println("think...");
}
}
public class Test9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Animal aa = new Animal();
aa.eat();
Person pp = new Person();
pp.eat();
Animal ap = new Person(); //向上造型
//double d = 2;
//Person pa = new Animal(); error
ap.eat();
ap.sleep();
// ap.think(); error
}
}
5、final关键字(是唯一能够修饰局部变量的修饰符)
final 修饰成员变量:必须要给它赋初值,并且不可以改变它的值(不可变),相当于定义了
final 是唯一能修饰局部变量的修饰符
代码举例1:
final class E{
int i;
static int j;
final int k = 1;
private final static String s = "hello";
public final void eat(){}
}
class F extends E{
public void eat(){}
}
public class Test10 {
public static void main(String[] args) {
// TODO Auto-generated method stub
E e = new E();
//e.k = 3; error
}
}
代码举例2:
final修饰数组时,该数组的引用不可变(即不能再让其改变指向),但是其内容(即数组中的元素)是可以改变的;
public class Test1 {
public static void main(String[] args) {
final int[] a = {1,2,3,4,5};
int[] b = {2,3,4,5,6};
//a = b;
for(int i=0;i a[i]++; } } } 6、is-a: has-a:如果一个类A对另一个类B的实例进行引用。A has-a B instanceof 运算符对象是否属于类返回boolean 比如:B是一个类,b是B的一个对象;eg:b instanceof B 代码举例: class B{ System.out.println("b eat..."); } } class C extends B{ public void eat(){ System.out.println("c eat..."); } public void sleep(){} } public class Test2 { public static void main(String[] args) { // TODO Auto-generated method stub B b = new B(); b.eat(); C c = new C(); c.eat(); B bc = new C(); bc.eat(); System.out.println(b instanceof B); System.out.println(bc instanceof B); } } 7、类的初始化顺序+子父类 先父类静态,再子类静态,在父类非静态,在子类非静态,在父类构造,再子类构造; 作业: 从键盘输入年月日,得出这一天是星期几? Calendar Scanner Lesson5: 1、override规则overload 返回值类型方法名(参数表)都要相同+访问修饰符? 子类方法修饰符的范围要大于等于父类 private修饰的方法不构成覆盖的(没有语法错误,就是不构成覆盖) final修饰的方法不能构成覆盖的,语法有错 static 修饰的方法不构成覆盖,没有语法错误 private static int i= 4; final static private int j = 5; public final abstract ====>能修饰类 2、抽象类: eg水果交通工具,体现的是is-a关系 1含有抽象方法的类就是抽象类. 抽象方法:方法只有定义,没有实现. abstract void f();=======>没有实现不等于空实现 public void f(){}=======>空实现 2抽象类不一定含有抽象的方法,只要声明该类为abstract就可以. 3 扩展类\派生类\子类必须要覆盖抽象类中所有的抽象的方法,否则,自身也成为一个抽象类. 4 private /final /static abstract void f(); 非法的 5 抽象类不能被实例化,只能引用子类的对象.===向上造型+ 动态绑定 6 抽象类作为参数或返回值类型.*** 7 抽象类可不可以有构造函数?可不可以有抽象的构造函数? 抽象类可以有构造函数,但并不是为了实例化对象,而是为了方便实例化子类的对象; 8 普通类所具有的属性,抽象类同样具有. 9 抽象类可以继承普通类吗? 10 java中的类为什么只能够单继承? 知识点代码举例1: import java.util.Scanner; abstract class Fruit{ public abstract void grow(); } class Apple extends Fruit{ @Override public void grow() { System.out.println("grow..."); class Banana extends Fruit{ @Override public void grow() {// TODO Auto-generated method stub} } class Boy{ //抽象类作为参数,传的是子类的对象 public void eat(Fruit f){ f.grow(); } //抽象类作为返回值,返回的是子类的对象 public Fruit getFruit(){ return new Apple(); } } public class Test4 { public static void main(String[] args) { // TODO Auto-generated method stub Fruit ff = new Apple(); ff.grow(); Apple aa = new Apple(); Boy boy = new Boy(); boy.eat(aa); boy.eat(ff); Scanner in = new Scanner(System.in); } } 知识点代码举例2: abstract class Animals{ public void eat(){} public void eat(String s){} public abstract void sleep(); abstract void sleep(int time); } class Person extends Animals{ @Override public void sleep() { System.out.println("sleep..."); } class Wolf{ public void eat(Animals a){ a.sleep(); //a.sleep(100); } public Animals getAnimal(){ return new Person(); } } public class Test5 { public static void main(String[] args) { Wolf ww = new Wolf(); Person pp = new Person(); ww.eat(pp); ww.getAnimal().sleep(); } } 知识点代码举例3: package com.gem.am; abstract class Sharp{ int width,height; Sharp(int width,int height){ this.width = width; this.height = height; } //抽象类可以有构造函数,但并不是为了实例化对象,而是为了方便实例化子类的对象。 abstract int getLength(); abstract int getArea(); } class Rect extends Sharp{ Rect(int width,int height){ super(width,height); } @Override int getLength() { return 2*(height+width); } @Override int getArea() { return height*width; 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machinecode B.Java程序经编译后会产生bytecode C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.java.sqlB.java.awtC.https://www.doczj.com/doc/b717069536.html,ngD.java.swing 答案:A 5.下列运算符合法的是() A.&&B.<>C.ifD.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0B.1C.-1D.死循环 答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D https://www.doczj.com/doc/b717069536.html, 二、多项选择题 1.Java程序的种类有() 初识java 目标: 任务一:使用文本编辑器开发java程序 任务二:使用Myeclipse开发java程序 了解java虚拟机(JVM)与跨平台原理 熟练掌握安装、配置JDK开发环境(重点) 熟练掌握使用记事本开发java程序(重点) 理解java编译原理 会使用MyEclipse开发java程序(重点) 为什么学习Java 关注Tiobe排行榜 Java的发展 1995年5月JAVA1.0 1997年2月JAVA1.1 1998年12月JAVA1.2(我们现在说的J2)三个开发领域J2SE、J2EE、J2ME 2004年9月JAVA5 2005年6月JAVA6 中间9年,Sun被Oracle收购 2011年7月JAVA7 2014年3月JAVA8 课程里使用JAVA7,目前为最稳定的版本 SE 标准版 ME 微型版 EE 企业版 开发环境搭建与配置 bin :里提供JDK 的命令文件、编译器、解释器 jre :java runtime evirment java 运行环境 lib :类库资源 src.zip :里边为JDK 提供的源码 安装完后配置 jdk 的路径D:\Program Files\Java\jdk*\bin 把路径复制粘贴在环境变量path ,光标放到最开头粘贴,要加一个英文的分号隔开后面的 cmd 验证 java -version 有版本提示为成功 基础核心J2SE 面向对象、API 、JVM 、等 J2EE JSP 、EJB 、服务、等 J2ME 移动设备、游戏、通 信、等 开发Java 程序 用记事本制作一个*.java public class Hello{ public static void main(String[] args){ System.out.println("hello world!!!"); } } 在CMD 里编译 javac *.java 编译 -- *.class SSH篇(后台) 一、SSH概述 1.1 SSH的含义 当前J2EE企业级应用分为三层:表现层-业务层-数据源层,而SSH代表了每一层的具体实现,它是三种流行的开源框架的缩写,S-Struts,S-Spring,H-Hibernate。这三者的组合是当前J2EE开发的标准模式,也代表了J2EE正在朝着简化复杂性,轻量化方向发展,最新J2EE 6已证明了这种趋势。 1.2 J2EE开发模式的演变 J2EE应用一直采用三层加构,即表现层-业务层-数据源层。 旧石器时代:J2EE应用采用表现层-远程EJB-实体EJB(或JDBC),这是最为正宗也是最复杂的J2EE开发,适用于银行等小部分项目;随后由于微软.NET的兴起以及其对J2EE的挑战,正宗的J2EE出现了一个变种:表现层-本地EJB-Ibatis,在这种模型中业务层选择了本地EJB,同时数据源层也改为Ibatis,这种模式极大的提高性能,华为大部分项目采用这种构架。在这两种架构中,由于采用了EJB组件模型,从而依赖于EJB容器,而EJB容器以一种全无或全有的方式提供服务,同时业务实现也受制于容器。这种开发模式导致了以下复杂性:依赖于应用服务器,不可移植,开发困难,无法在容器外测试,部署复杂,效率低下。 新石器时代:在新石器时代依然采用了三层加构,只是抛弃了EJB,而采用了Spring等轻量级容器,同时持久化由全自动的Hibernate承担。在这种架构中,由于放弃了EJB,放弃了全功能的应用服务器,在节省了软件许可费用的同时也大大提高了软件开发效率。由于web服务器的可移植也好于应用服务器,从而使得J2EE应用可顺利移植。 Java基础学习心得笔记 对于很多只会C语言的初学者而言,面对java基础语法学习,反而感觉很难,其实其中最大的问题不是语法难,而是一种编程思想的转变。面向过程就是把你的代码封装成函数,然后依次去做一件事情,面向过程是把你要做的事情抽象成对象,告诉对象去做。所以要想学好java入门,必须知道类和对象的概念。 类是对生活中事物的抽象描述,比如人类,动物类,交通工具类;对象即是对类的具体实例化,比如张三是人,猫是动物,飞机是交通工具(对象-----类)。Java基础入门学习路线可以总结为四步走: 1.java开发环境的搭建; 2.java初级之基础语法学习(80%类似C语言); 3.java中级之面向对象编程学习(重点); 4.java中级之应用编程学习。 第一步:JDK软件开发包时java软件开发环境, 包括jre运行环境和jvm虚拟机,在oricle官网下载javaSE版本JDK包;配置好环境变量就可以使用了。 第二步:java初级语法学习, 1.基本数据类型整形,字符型,字节型,长整形,短整形,浮点型,双精度,布尔型; 2.运算符+,-,*,/,%等; 3.控制流(while,switch,if else); 4.数组的定义方式。 此阶段基本无难度,只要了解练习例题。 第三步:java面向对象学习, 1.类和对象; 2.java语言三大特性,封装、继承、多态; 3.一些关键字学习(static,final,abstract,extends)等。 这是重点,大家根据知识点一步步研究学习才是关键。 第四步:java应用编程, 例如:文件IO,集合(类似C语言数据结构),异常处理,线程,网络,JDBC数据库操作等,都是掌握面向对象以后,在查找不同的类使用类中不同的方法达到应用的效果,所以并不会很难。等基础语法掌握了就可以继续后面框架学习(java web方向,android学习),相信明确思路你会豁然开朗,更有学习动力。 以上没有具体的实例和知识点讲解,分享的只是完全没接触过java的初学者自学java的思路和学习的流程,应该把握的重点,希望大家有所帮助。 如果你想学好Java,找一家靠谱的培训机构,能让你的学习事半功倍。 1.程序块采用缩进风格,空格为4个. 说明: 对于开发工具自动生成的代码可以不一致 2.分界符(如大括号{和})应各自占一行并且在同一列,同时与引用它们的语句左 对齐,在方法的开始,类和接口的定义,以及if,for,do,while,switch,case语句都要采用上述缩进 说明: for(…) { …//your code } 3.较长(>80字符)的语句,表达式和参数要分多行,长表达式要在低优先级操作符 划分新行,操作符放在行首,新行要适当缩进,整齐,语句可读. 说明: if(filename != null && new File(logPath+filename).length() < logConfig.getFileSize()) { …//your code } 4.一行只写一条语句 说明: LogFilename wow = null; LogFilename that = null; 5.if,for,do,switch,while,case,default各占一行,它们的执行语句无论多少都要加{} 说明: if(writeToFile) { writeFileThread.interrupt(); } 6.相对独立的程序块,变量,说明要加空行 说明: if(log.getLevel() < log.getRecord()) { return ; } //空行 LogWrite writer; 7.对齐只用空格键,不用TAB键 说明: 以免使用不同的编辑器阅读程序时,因TAB键所设置的空格数不同而造成程序布局不整齐,JBuildr,UltraEdit等编辑环境,支持行首TAB替换成空格,应将该选项打开 8.两个以上的关键字,变量,常量进行对等操作时,操作符之前,之后或前后要加空 格,进行非对等操作时,如果是关系密切的立即操作符,后面不加空格(如.操作符) 说明: 采用这种松散方式编写代码目的是让程序更加清晰,由于空格所产生的清晰性是相对的,所以在已经很清晰的语句中没有必要留空格,如果语句已足够清晰,则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为java中括号已经是很清晰的标志了.在长句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部中不加空格,给操作符留空格时不要连续留两个以上空格 9.类属性和方法不要交叉放置,不同存取范围的属性和方法也不要交叉放置 说明: 类定义:{ 类公有属性定义; 类保护属性定义; 类私有属性定义; 类公有方法定义; 类保护方法定义; 类私有方法定义; } 10.源程序的有效注释量必须在30%以上 11.包的注释写入一个名为package.html的html格式的说明文件放入当前路径 12.包的注释内容:本包作用,详细描述本包内容,产品模块名称及版本,公司版本 说明: 华为笔试题:JAVA
课工厂陈璇老师课程笔记 第1课:初识Java语言
java培训资料
Java基础学习心得笔记
华为JAVA编码规范介绍
公司版本信息
JAVA -------- EVERYTHING IS OBJECT OOP class Student{
New null public int/void addNumber( ) throw Excepion {} public int addNumber(int a,int b){ } int a,int b public Student s=new Student() Student Student “Student()” () Student s Student public student(string name,int a){ } public student(int a,string name){ }
static void changename(student stu){stu.setName “LUCY”} overloading overriding JAVA overriding overloading Overloading overloading overloading overloading public void teach(){}; public void teach(int a){}; public void teach(String a){} Overloading Byte—short—float—int—long—double this student(){}; student(string n){ this();// student() } student(int a) this(int a) this this This Public void printNum(){ Int number=40 System.out.println(this.number); } This.number this.number (this) number
1.Struts2在jsp页面中使用
华为java培训讲义第一天 配置java环境变量: JAVA_HOME:配置JDK的目录 CLASSPATH:指定到哪里去找运行时需要用到的类代码(字节码) PATH:指定可执行程序的位置 LINUX系统(在" .bash_profile "下的环境变量设置) JAVA_HOME=/opt/jdk1.5.0_06 CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar PATH=$PATH:$JAVA_HOME/bin:. export JAVA_HOME CLASSPATH PATH (将指定的环境变量声明为全局的) windows系统: 右击我的电脑-->属性-->高级-->环境变量 Java的运行过程: 编译:生成可执行文件,如C++中利用g++生成a.out,效率高,但不跨平台 解释:解释器把源文件逐行解释,跨平台但效率不高 在java中:先编译后解释,把.java文件编译成.class字节码文件 Java源代码文件(.java文件)---> Java编译器(javac)---> Java字节码文件(.class文件,平台无关的)---> Java解释器(java),执行Java字节码 Java的垃圾回收: 由一个后台线程gc进行垃圾回收 虚拟机判定内存不够的时候会中断代码的运行,这时候gc才进行垃圾回收 缺点:不能够精确的去回收内存 https://www.doczj.com/doc/b717069536.html,ng.System.gc(); 建议回收内存,但系统不一定回应,他会先去看内存是否够用,够用则不予理睬,不够用才会去进行垃圾回收 内存中什么算是垃圾: 不再被引用的对象(局部变量,没有指针指向的) java的安全性: 沙箱机制:只能做沙箱允许的操作 通过下面环节,实现安全 加载有用的类文件,不需要的不加载 校验字节码,查看允许的操作 查看代码和虚拟机的特性是否相符 查看代码是否有破坏性
项目管理培训 内容概要 管理者与非管理者 ●管理者和非管理者之间在完成任务时的根本差别在哪里? 管理者必须通过别人(尤其是下属)来完成任务,达到目标。 因此,通过别人完成任务是管理者的核心职责。 ●管理者如何有效的通过别人完成任务? 要有效的通过别人完成任务,管理者必须G-E-H。 ?使别人了解行动的方向,知道做什么(Guide,向导) ?帮助别人获得完成任务所需要的资源,提高他们对工作的胜任度(Enabler) ?对别人的行动有一定的控制力,以保证他们的行为过程不偏离目标(Housekeeper,监控者) ●TQC三角关系T:time,时间。Q:quality,质量。C:cost,成本。 ?机会窗。工程商人。 ?质量基线,依靠类似产品的积累,工作能力和开发流程的提高,对功能、性能、稳定性、UI界面有全面的设计。相对合乎规范的流程。IPD,集成开发流程,能够尽可能的使开发的流程规范化,对人的 依赖程度最低。 ●管理者的三项目关键任务: ?Guide:帮助下属掌握工作方向。 a)了解上级意图和组织的发展方向; b)制定行动战略和工作计划; c)使下级了解自身工作与组织目标的联系; d)帮助下级确定具体的工作方向和角色定位; e)了解对自己的工作内容的期望和衡量标准; ?Enabler:帮助下属提高胜任程度 a)形成有效的思维方法; b)建立有效的工作流程; c)了解自身的优势和短处; d)强化对自我能力的信心; e)提供发挥作用的条件; f)提供职业发展机会; g)指导和鼓励反馈; ?Housekeeper:使下属不偏离目标 a)建立起必要的行为准则,避免无政府注意、无秩序的工作环境; b)保持有效的工作秩序和沟通交流的秩序; c)必要时能做到“我说你做”; d)给下属适当的自主空间,避免形成窒息性的工作环境,阻碍下属积极性的发挥; e)对下属偏离目标的行为给予适当的惩罚性反馈; f)组织绩效是管理者核心职责的结果表现; ●扩展问题: ?衡量标准:双向沟通,为了避免失真,最好的办法就是重复,双向确认。 ?多头管理:矩阵式管理; ?激励:公开表扬,私下批评 ?处理沟通问题的原则:与工作不相关的事物不要谈及。明确合作单位的接口人。关键事物通过邮件确认。勤诚巧。 ?激发型团队,高效型团队,中立型团队,消极型团队。Q12问题 ?作为管理者,你在管理上遇到的最主要的三大困惑是什么 ●项目经理角色认知
JAVA的面向对象编程--------课堂笔记 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物皆对象) 所有的事物都有两个方面: 有什么(属性):用来描述对象。 能够做什么(方法):告诉外界对象有那些功能。 后者以前者为基础。 大的对象的属性也可以是一个对象。 为什么要使用面向对象: 首先,面向对象符合人类看待事物的一般规律。 对象的方法的实现细节是屏蔽的,只有对象方法的实现者了解细节。 方法的定义非常重要。方法有参数,也可能有返回值。 注意区分:对象(本身)、对象的实现者、对象的调用者。 分析对象主要从方法开始。 我们通过类来看待对象,类是对象的抽象。 其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。 对象之间的耦合性一定要低(比如不同硬盘和不同主板之间的关系)。这样才能使每个对象本身做成最好的。 对于对象的要求:高内聚、低耦合,这样容易拼装成为一个系统。 实现高内聚就是要最大限度低提高复用性(复用性好是因为高内聚)。 可复用性是OOP的基础。 比较面向过程的思想和面向对象的思想: 面向过程的思想:由过程、步骤、函数组成,以过程为核心; 面向对象的思想:以对象为中心,先开发类,得到对象,通过对象之间相互通信实现功能。 面向过程是先有算法,后有数据结构。 面向对象是先有数据结构,然后再有算法。 在用面向对象思想开发的过程中,可以复用对象就进行复用,如无法进行复用则开发新的对象。 开发过程是用对个简单的对象的多个简单的方法,来实现复杂的功能。 从语法上来看,一个类是一个新的数据类型。 在面向对象编程中,除了简单数据类型,就是对象类型。 定义类的格式: class Student{ 代码 } 注意类名中单词的首字母大写。 实例变量:定义在类中但在任何方法之外。(New出来的均有初值) 局部变量:定义在方法之中的变量。
千锋JAVA培训课程内容 千锋java程序员主要学什么内容?难不难?要想找到高薪工作,学习java 应该掌握哪些知识呢? Java是世界第一编程语言! 据权威统计,在所有软件开发类人才的需求中,对Java工程师的需求达到全部需求量的60%~70%,Java软件人才的缺口巨大,对应薪水也是随之水涨船高。随着java开发目前高薪高需求状况,学习java 的人也越来越多。那么想成为java程序员,java程序员要学什么呢? 想要成为一个合格的java程序员,必须需要牢固的基础,这样在未来接触新的知识的时候,才能快速吸收,认为基础不牢固的程序员,随时都会被新的知识和技术所淘汰,下盘不稳风一吹就倒,那么作为一个合格的java程序员应该具备哪些知识呢?今天就来和大家分享java高手之路上的必备基础知识: 一、面向对象的知识:JAVA是一个面向对象的开发语言,因此熟悉面向对象对学习JAVA很有必要,您要了解:什么是对象,什么是类;什么是封装,什么是多态,什么是继承;什么是抽象类,什么是接口。了解了概念后,您还需要这些概念是如何体现的,如类和对象有什么区别?类是如何封装的? 二、JAVA语法:如果您有C++等面向对象语言的开发经验,您只需简单的翻看一下介绍JAVA的相关书籍就可以了。如果您是新手,没有关系,您下些工夫,好好研究一本JAVA初级教程之类的书就可以了。 三、JSP和HTML:做JAVA程序员都少不了和JSP以及HTML打交道。因此,想成为JAVA程序员就不可避免的要熟悉JSP和HTML,您最好能知道JSP的几个内置对象,如Session,Request,Reponse,以及常用的JSP标签,如include,userBean等。如果您再熟悉一下JS和CSS就更好了,那会使
Java基础语法 今日内容介绍 方法 第1章方法 1.1方法概述 在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法。 如:小明同学在路边准备坐车来学校学习。这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢可采用坐公交车或坐出租车的方式来学校,那么,这种解决某件事情的办法,我们就称为方法。 在java中,方法就是用来完成解决某件事情或实现某个功能的办法。 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本,控制输入或计算数值。 我们可以通过在程序代码中引用方法名称和所需的参数,实现在该程序中执行(或称调用)该方法。方法,一般都有一个返回值,用来作为事情的处理结果。 1.2方法的语法格式 在Java中,声明一个方法的具体语法格式如下: 修饰符返回值类型方法名(参数类型参数名1,参数类型参数名2,......){ 执行语句 ……… return 返回值; }
对于上面的语法格式中具体说明如下: 修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,还有最 终修饰符final等,这些修饰符在后面的学习过程中会逐步介绍 返回值类型:用于限定方法返回值的数据类型 参数类型:用于限定调用方法时传入参数的数据类型 参数名:是一个变量,用于接收调用方法时传入的数据 return关键字:用于结束方法以及返回方法指定类型的值 返回值:被return语句返回的值,该值会返回给调用者 需要特别注意的是,方法中的“参数类型参数名1,参数类型参数名2”被称作参数列表,它用于描述方法在被调用时需要接收的参数,如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。方法的返回值必须为方法声明的返回值类型,如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。 接下来通过一个案例来演示方法的定义与使用,如下图所示。 public class MethodDemo01 { public static void main(String[] args) { int area = getArea(3, 5);
Java语言基础Day01 2011/7/29 ==================== 1.Linux简介 1)文件系统 2)当前工作目录,就是当前正在使用的默认文件夹 文件夹=目录 pwd打印(显示)当前工作目录 3)用户主目录(user home),是属于当前登录用户个人的目录 个人主目录,用户拥有对自己用户主目录全部管理权限. 4)mkdir创建文件夹 mkdir demo在当前文件夹(工作目录)里创建文件夹demo 5)cd切换(更改)当前工作目录 ..代表上层目录,cd..切换到上层目录 .代表当前目录 cd指定的目录 cd/到跟目录 cd/home/liucs到主目录 cd命令默认返回用户主目录(user home) 6)ls显示文件夹内容 7)绝对路径和相对路径 A以跟(root)"/"为开始的路径是绝对路径 B不是以"/"开始的是相对路径,相对路径默认相对于当前目录 8)rm-rf dir删除目录 9)启动eclipse cd/opt/eclipse ./eclipse 2.Java简介 1)java特点:简单,面向对象,跨平台,安全,多线程支持 2)java的跨平台 Java通过JVM实现了跨平台技术 Java源代码(*.java)经过Java的编译器编译成 Java字节码(*.class),执行Java字节码,Java字节码 经过JVM的解释为具体平台的具体指令,并执行。 不同平台有不同的JVM,主流平台都提供了JVM。所以 JAVA字节码可以在所有平台上能够解释执行。在这个 意义上Java是跨平台的。也就是说:Java的字节码 是跨平台的。 3)Java JDK JDK java开发工具包/opt/jdk or/opt/jdk_1.6.01 |--bin开发工具(命令:java,javac,jar,javad,jar,rmic,jps...) |--jre JRE Java运行环境 |--lib(rt.jar)Java API(应用编程接口,系统类库) |(java提供的现成组件) |--bin(java_vm)JVM Java虚拟机
J2EE简介 JavaEE(Java Enterprise Edition)是SUN公司推出的企业级开发平台,是J2EE的最 新版本。它提供了一个基于组件的方式来设计、开发、装配和部署企业级应用程序。 它是基于多层的分布式架构。 JavaEE规范对各层组件的说明是这样的: –客户端应用程序和Applet是运行在客户端的组件; –Java Servlet 和Jsp是运行在Web服务器端的Web组件; –Enterprise JavaBean(EJB)组件是运行在应用服务器端的业务组件。 –EIS(Enterprise Information System)是指一些企业信息系统,如数据库,它为上层服务提供数据信息的系统。 –见如下图。
Servlet Servlet就是普通的运行在服务器端的Java程序,主要用来拓展基于请求/响应模式的服务端的功能 简单 Servlet 示例 web.xml文件中配置Servlet :
Servlet中配置的是一个servlet对应的类路径 Servlet-mapping中配置的是servlet对应的url,可用*匹配一类路径 Servlet工作流程 当客户端发送请求到服务器端后,web服务器会调度相应的Servlet对象来处理,但是如果是多个并发的用户发送相同的请求,web服务器会采用线程的机制来给客户端分配资源,然后让其并发的来访问一个Servlet对象。(区别与CGI:它将会启动一个本地的程序进程来处理,然后返回相应的信息给客户端。CGI服务器为每一个并发请求的客户都启动一个服务器端的程序进程与之对应来处理,即使多个客户端发送的请求相同,服务器也是分别创建进程处理,这样当有大量的用户并发访问时必然会对服务器产生很大压力。) Servlet的具体工作流程如下: –客户端(例如Web浏览器)通过HTTP发送请求(请求)。 –Web服务器接收该请求并将其发给相应的Servlet。如果这个Servlet尚未被加载,Web服务器将把它加载到Java虚拟机并且执行它。 –Servlet将接收该HTTP请求并执行相应的业务处理。 –Servlet处理完毕后,向Web服务器返回应答。 –Web服务器将从Servlet收到的应答发送给客户端(响应)。 –至此一个请求过程处理完毕。
最全java学习资料 Java入门都应该学什么?最全java学习资料?这是每一个刚入行的小伙伴普遍会遇到的问题,面对陌生的行业,面对一无所知,真的是无从下手。现今互联网快速发展,Java编程技术在企业也是备受需求,并且逐渐成为日常生活和工作必不可少的东西,越来越多的人来到千锋接受专业的Java培训。今天小编就来为大家总结JAVA学习资料 首先Java是一个面向对象的编程语言,容易理解。而且略去了多重加载、指针等难以理解的概念。并且实现了自动垃圾回收,大大简化了程序设计。其次Java学习资料较多,在千锋Java培训官网上可以找到很多Java教学视频,讲解都是很通俗易懂的,可以让你轻松入门。下面是总结的一小部分的知识点,也是比较重要的几点,大家可以先了解一下。 跨平台 跨平台是Java的一大优势。Java运行在JVM(Java虚拟机)上,在任何平台只要安装了JVM,Java就可以运行。它架构在操作系统之上,屏蔽了底层
的差异,真正实现了“Writeonce,runanywhere”。 安全 Java中没有指针,这样就没有办法直接访问内存了。另外Java也不容易出现内存泄露。 多线程 Java内置对多线程的支持,可以方便地在程序中实现多线程的功能。不像其他不支持多线程的语言,需要调用操作系统的多线程功能才能完成多线程的实现。 不得不承认上面有一点是对的,Java确实有很多企业在用,而且都是用在大项目上。这就意味着Java方面的工作比较好找,另一点是在做Java开发时如果遇到问题,可以很容易从网上找到解决办法。 自学与Java培训机构的选择?自然是找一个好的Java培训机构比自学要快的多,也避免了走弯路浪费不必要的时间,如果你想学习Java,想加入Java 开发行业,快来千锋进行实地考察吧!千锋为你准备了长达两周的免费试听课程,与你一起相约千锋!
JAVA视频教程 尚学堂---手把手教程 Call:86- 主讲教师马士兵 SCM系统--------Java+VC跨平台( 电信宽带运营平台-------Java+WEB(J2EE)跨平台 远程教学平台----Java+WEB(tomcat) VOD视频监控-----VC ERP 视频会议---------VC 新闻发布系统-----Java+XML(模板) 网上商城 课堂内容、教学方法、学习方法、预备知识、教学资源 JAVA基础贯穿数据结构的知识(时间复杂度、链表)---非常重要语法基础【变量、循环、分支】最核心的东西—原理--学好 OO【面向对象是最重要的】有新东西学是好事----个人价值Exception 从Java Web开始,框架巨多无比Array【数组】 基础类、常用类 I/O Stream Collection/Generic【集合类】 Thread【线程】 TCP/UDP【网络底层】 GUI【Graphic User Interface 图形化用户接口窗口】 Meta Data【以后讲,与紧密相关】 Regular Expression【正规表达式】 JDK初步 Java Web编程【主攻一个框架---讲原理,略讲其他框架】 针对Web程序 J2EE【一套标准,包含Java Web 、JDPC、JSP、SP、JB/开源框架—就分 步式来说,目前(2005)无东西与之抗衡】(比较,,) 企业级应用 J2ME 移动设备 移动增值 SP运营商 3G,2.5G,要火爆起来【网络先铺起来,应用才能上来;3G的网络还没有铺开、火爆起来,讲3G的应用超前了】 巨无霸式的教学 理论
JAVA SE Lesson 1 1. 类是一种抽象的概念,对象是类的一种具体表示形式,是具体的概念。先有类,然后由类来生成对象(Object)。对象又叫做实例(Instance)。 2. 类由两大部分构成:属性以及方法。属性一般用名词来表示,方法一般用动词来表示。 3. 如果一个java源文件中定义了多个类,那么这些类中最多只能有一个类是public的,换句话说,定义的多个类可以都不是public的。 4. 在Java中进行方法的参数传递时,无论传递的是原生数据类型还是引用类型,参数传递方式统一是传值(pass by value)。Java中没有传引用(pass by reference)的概念。 5. 方法重载(Overload)。表示两个或多个方法名字相同,但方法参数不同。方法参数不同有两层含义:1)参数个数不同。2)参数类型不同。注意:方法的返回值对重载没有任何影响。 6. 构造方法重载:只需看参数即可。如果想在一个构造方法中调用另外一个构造方法,那么可以使用this()的方式调用,this()括号中的参数表示目标构造方法的参数。this()必须要作为构造方法的第一条语句,换句话说,this()之前不能有任何可执行的代码。 7. 继承(Inheritence):Java是单继承的,意味着一个类只能从 另一个类继承(被继承的类叫做父类【基类,base class】,继承的类叫做子类),Java中的继承使用extends关键字。 8. 当生成子类对象时,Java默认首先调用父类的不带参数的构造方法,然后执行该构造方法,生成父类的对象。接下来,再去调用子类的构造方法,生成子类的对象。【要想生成子类的对象,首先需要生成父类的对象,没有父类对象就没有子类对象。比如说:没有父亲,就没有孩子】。 9. super关键字:super表示对父类对象的引用。 10. 如果子类使用super()显式调用父类的某个构造方法,那么在执行的时候就会寻找与super()所对应的构造方法而不会再去寻找父类的不带参数的构造方法。与this一样,super也必须要作为构造方法的第一条执行语句,前面不能有其他可执行语句。 11. 关于继承的3点: a) 父类有的,子类也有 b) 父类没有的,子类可以增加 c) 父类有的,子类可以改变 12. 关于继承的注意事项 a) 构造方法不能被继承 b) 方法和属性可以被继承 c) 子类的构造方法隐式地调用父类的不带参数的构造方法 d) 当父类没有不带参数的构造方法时,子类需要使用super来显 式地调用父类的构造方法,super指的是对父类的引用 e) super关键字必须是构造方法中的第一行语句。 13. 方法重写(Override):又叫做覆写,子类与父类的方法返回类型一样、方法名称一样,参数一样,这样我们说子类与父类的方法构成了重写关系。 14. 方法重写与方法重载之间的关系:重载发生在同一个类内部的两个或多个方
Java_U1课堂笔记 (一)初识Java 一、配置Java环境变量: 1、复制JDK安装路径,如:C:\Program Files (x86)\Java\jdk1.7.0_51\bin 2、粘贴到我的电脑->属性->高级系统设置->环境变量->Path 3、加上英文的分号 4、验证是否配置正确:dos-->java -version 进入DOS窗口的方法: 运行(或快捷键windows键+r) 二、Java程序编写三步骤: 编写.java 编译:javac **.java 运行java ** 三、使用jad反编译工具: DOS中切换至jad安装目录,如:C:\jad1.5.8g.win 输入命令:jad -s java D:\t01\HelloWorld.class 四、变量的使用: 变量 取名,命名规则 类型 数值:int、double、float(f) 非数值:char、String 类型名字= 值; int age=10; 五、上机验证: System.out.println(5+3); System.out.println("5"+3); 六、Scanner的使用,接收用户键盘输入 Scanner import java.util.Scanner; Scanner input=new Scanner(System.in); input.next();(相关方法,nextDouble()、nextFloat()、nextInt(等)bin:exe jre lib src.zip (二)数据类型 一、数据类型转换 自动类型转换: int num=100; double b=num;
Java学习资料下载大全 java的开发建议使用jbuilder、eclipse或是netbeans eclipse在这里免费下载:https://www.doczj.com/doc/b717069536.html,/downloads/ netbeans在这里免费下载:https://www.doczj.com/doc/b717069536.html,/netbeans/6.0/final/ 教程的话,你可以看看这个: 精通JBuilder 2005 中文版高清PDF+随书光盘 https://www.doczj.com/doc/b717069536.html,/dispbbs_121_172861_1.html 是中文版,也有随书光盘中的实例。 下面还有一些好的资料和视频供你参考一下: Java 编程初步傻瓜书 https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=159167 数据结与算法Java语言版 https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=160250 精通JBuilder 2005 中文版高清PDF+随书光盘 https://www.doczj.com/doc/b717069536.html,/dispbbs_121_172861_1.html JSF JavaServer Faces in Action https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=160229 Spring in Action (第二版) https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=146170 Manning jQuery in Action https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=174769 Spring In Action https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=174107 AspectJ in Action https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=174106 Hibernate In Action https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=174105 Struts in Action https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=174005 Lucene in Action https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=173991 Java Extreme Programming Cookbook https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=174729 Java Programming Cookbook https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=173667 Beginning Java Objects https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=174685 Building Java Enterprise App https://www.doczj.com/doc/b717069536.html,/dispbbs.asp?boardID=121&ID=174684 Ant: The Definitive Guide