Java逻辑课程总结10班

时间:2019-05-12 11:24:18下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Java逻辑课程总结10班》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Java逻辑课程总结10班》。

第一篇:Java逻辑课程总结10班

第一章

 开发java程序的步骤:编写源程序,编译源程序,运行(用记事本编写源程序,以.java为后缀名→javac,生成.class文件→java 输出结果)

 源文件:.java  生成后:.class  程序的入口为:main方法,一个程序只能有一个入口,但一个项目中可以添加多个入口

 C#的入口呢?

 基本的输出:System.out.println(“Hello world!”);

 注意:n t 的用法

以及print 与 println的区别

前者没有换行,后者有

相当于print(“n”); Java技术平台:JavaSe JavaEE  程序注释

多行注释/*注释内容*/ 单行注释

//注释内容 文档注释: /** 注释的内容 */(对应的C#注释又是如何的呢?) 代码规范

改缩进的要缩进,改换行的要换行 public 命名的类名,必须和源文件名相同 第二章

 变量的理解:

电脑是使用内存来记忆计算时所使用的数据 通过地址来找到对应数据的量,试想,每次申请的时候,地址都会发生变化,这样对开发是不是很不方便。所以我们用变量名,来代替实际的内存地址

例如,我们去住酒店

内存就像酒店

那变量的数据类型就像酒店里的房间类型,变量的名称 就相当于房间的名称

变量的值,就相当于房间里面住的客人

那我们通过变量名,就可以直接找到它所对应的值,就相当于,我们找到对应的房间名称,就可以找到该房间对应的客人 一样。

 变量命名规则:

首字母,以字母,’_’或者’$’开始,其余部分可以包含任意多的数字、字母、下划线或者$,但不能包含其他特殊符号

当然变量名不能包含java关键字(如int,main 等) 变量的数据类型:char 单个字符 如’男’

int 整数

如一天24小时

double 小数

1.3

String

字符串

“Hello World”

 变量的声明及使用

 第一步:声明变量,即“根据数据类型在内存申请空间” double money; 第二步:赋值,即“将数据存储至对应的内存空间” money=1000.0; 第三步:使用变量,即“取出数据使用 ”

System.out.println(money); 当然,第一步和第二步,可以一起,如double money=1000.0; 声明变量的同时,给其赋值  例题 

 public class TestType { public static void main(String[ ] args){ double score = 98.5;

String name = “张三”;char sex = '男';

System.out.println(“本次考试成绩最高分: ” + score);//+ 连接输出信息 System.out.println(“最高分得主: ” + name);System.out.println(“性别: ” + sex);} } 赋值运算符(=)语法:

变量名 = 表达式;(a =(b + 3)+(b – 1);) 意思是,将等号右边的值给等号左边的变量

 如:学员王浩的Java成绩是80分,学员张萌的Java成绩与王浩的相同,输出张萌的成绩

 int wangScore = 80;

//王浩成绩  int zhangScore;

//张萌成绩  zhangScore = wangScore;

 System.out.println(“张萌成绩是" +zhangScore);算术运算符(+-* / %) /:对于int类型的,若结果带有小数,则直接忽略小数点及后面的数 如 5/3=1(而不是1.。。)

 %:取模 就是取余数

如5%3=2 输入 导入import java.util.Scanner; Scanner input = new Scanner(System.in);//相当于,我们要接受键盘输入之前,先把键盘给准备好,接着,接收键盘输入  如: int a = input.netxInt();i++;i=i+1;

 i+=3;i=i+3; ++放在前面,是先执行++,后执行别相应的别的操作,++放后面相反

 如int a = i++;等价与int a=I;i++;两步  int a = ++I;则等价于 i=i+1;a=I; 一定要会转换

数据类型转换 :①自动类型转换

②强制数据类型转换  对应的规则:如果一个操作数为double型,则整个表达式可提升为double型

3.2+3 它将自动提升到double类型;

 满足自动转换的条件(两种数据类型要兼容,目标类型大于原类

型)大杯子装小杯子  double 装int  ② 强制类型转换

(类型名)表达式

如int b =(int)9.8; 精度将会丢失,b=9,而不会是四舍五入

第三章

 掌握新数据类型 boolean 类型(true 或 false) 关系运算符(>,>=,<,<=,==,!=)注意 ==与=的区别,用在if条件中的是==  逻辑运算符(&& ,||,!)

 注意&&,||属于短路判断 假 条件  基本if选择结构

 语法结构: 真 if(条件){

代码块 //代码块 }  注意点:如果没有{},则只有一条语句属于if语句  建议,即使只有一条语句,也不要省略{}  条件1 &&条件2 仅仅两个条件同时为真时,结果才为真

 条件1 || 条件2

只要两个条件中一个为真,结果为真 !条件

条件为真时,结果为假

 条件为假时,结果为真(即,反一反)

 运算符优先级:优先级顺序:!>算术运算符>比较运算符>&&>||  注意,当分不清优先级时,用()是明智之举

 if-else选择结构  语法结构: 假 条件 if(条件){

真 //代码块1

}else { 代码块2 代码块1 //代码块2

}

第四章

 重if选择结构

 语法结构: if(条件 1){

//代码块1

} else if(条件2){

//代码块2

} else {

//代码块3

} 注意:当连续判断时,条件的顺序不能乱,必须从小到大或者从大到小  嵌套if选择结构 if(条件1){ if(条件2){ 代码块1 } else { 代码块2 } } else { 代码块3 }

 switch选择结构 switch(表达式){

case 常量 1: 语句;break;

case 常量 2: 语句;break;…

default: 语句;}  注意点:区别于多重选择结构,它只能用于不连续的选择结构

 switch 后的表达式,一定得是int 或者char,其他类型不行  case 后,记得加上break  与c#有什么不同点呢??

 hasNextInt()方法,可以判断用户从键盘输入的字符是否是合法的数字

第二篇:JAVA课程总结

DAY01

JavaSE第一天课程安排

##### 目标:开发第一个JAVA小程序,了解掌握相关概念

#####

内容:

1、了解计算机相关概念

2、下载安装Java开发环境

3、开发第一个Java程序

4、开发环境设置优化

5、掌握Java程序的开发运行流程

6、掌握Java相关概念

7、练习

#####----------------计算机相关概念----------------

1、计算机

1、机器

2、软件

3、数据输入----> 数据处理----> 数据输出-----(重要不紧急)

2、软件----

A、系统软件-----操作系统---windows linux B、应用软件-----QQ、CF、计算器(数据)软件的功能: 数据输入----> 数据处理----> 数据输出 数据-----123、文件、文件夹----泛称

3、计算机操作

物理操作 软件操作 GUI/CUI GUI-----图形用户接口-----Graphics User Interface(常用)CUI-----命令行用户接口---Command User Interface(了解)A、如何启动CUI

1、开始----> 附件-----> 命令提示符

2、开始----> 搜索CMD

3、win7----> shift 右击----> 打开命令行

B、DOS命令----CUI和GUI有对应关系

按规律记忆

电脑上数据分两类: 切换盘符:盘符号: 进入文件夹: cd 文件夹名

cd 路径名(进入多级)

返回上一级:cd..返回根目录:cd

1、文件

-----notepad/write/edit 查

-----type 文件名---查看内容 改

-----notepad/write/edit

-----del 文件名称

2、文件夹---dir

增----md XXX 查----dir--查看文件夹下所有文件

改----修改名称 ren 删----rd 要求:

1、简单调用----记住一个 help

2、调用 time date 等命令

3、命令如何使用--命令 /? DOS启动程序

1、DOS下进入程序所在路径

2、敲入程序名称

3、回车

需求:任意目录下启动程序,notepad可以,QQ不可以 edit cd cd..cd help 命令 /?----------不重要紧急

4、键盘使用------------重要不紧急

快捷键: 全选: ctrl + A

撤销: ctrl + Z 复制: ctrl + C 粘贴: ctrl + V 保存: ctrl + S------剪切: ctrl + X eclipse: ctrl + D----删除一整行

5、计算机语言

6、软件开发

使用计算机语言开发程序 学习计算机语言:语法

总结:了解-----

紧急-----常见的DOS命令

----------------下载安装Java开发环境----------

1、Java简介

A、詹姆斯 格斯林 B、开源----开放源代码 C、ONE体系

Open Net Environment----开放的网络环境

JavaSE-----桌面应用程序开发----核心----就业机会不多 JavaEE-----企业的分布式系统开发1)----(N从右向左数的位数)

4、负数的转换----(不不)

-10 0000 0000 概念:原反补

正数:源码反码补码都一样

负数:原码----标志位是1,计数位和正数一样

反码----计数位取反,1变0,0变1

补码----反码基础之上 +1 101 0111 1111 1111 1111 1111 1111 1111 1111----2^311 = 127 short-----2个字节16bit----最小值:-2^15=-32768 最大值:2^15* / %

++--(重点)DAY03 一.算数运算符:

1.+ 2.-

3.* 4./

/ 3 : 3 10 / 0 : 运行时异常;

10.0 / 0 :Infinity(无穷)不是异常

5.%

% 3 : 1 10 % 0 : 运行时异常

10.0 % 0 : NaN(Not A Number)不是异常-10 %-3 :-1 10 % 3 :1-10 % 3:-1 10 %-3:1 6.++: 7.--: 如果表达式中,只做++或--一件事情,那么前++/--和后++/--效果一样的; 但如果表达式中做多件事情:

前++/--:先自增/自减,然后再参与表达式的其它运算; 后++/--:先参与表达式的运算,然后在自增/自减;

二.赋值运算符

1.=:执行顺序,从右至左,并且最后返回变量; 2.+=: 3.-=: 4.*=: 5./=: 6.%=:

特点:带隐式强制转换;

byte b1 = 10;b1 = b1 + 20;//编译错误

b1 += 20;//OK的-->b1 =(byte)(b1 + 20);三.关系运算符:

1.==:判断是否相等 2.!=:判断是否不等;

3.<:左操作数是否小于右操作数; 4.>:左操作数是否大于右操作数;

5.<=:左操作数是否小于或者等于右操作数; 6.>=:左操作数是否大于或者等于右操作数;

四.逻辑运算符:

&&、||和&、|的区别:

1.逻辑&&和||具有短路行为,一旦确定整个表达式的结果,那么将不再执行剩余表达式; 1.&&(语意:并且):两边都为true,结果为:true; 2.||(语意:或者):有一边为true,结果为true;3.!(语意:不是):!true:false;!false:true 位运算符:

4.&(并且):结果同&& 5.|(或者):结果同|| DAY04 一.运算符:

1.位运算符:

1).<<(左移): 2).>>(有符号右移):

3).>>>(无符号右移)4).&(按位与):两位都是1,结果为1; 5).|(按位或):有1位为1,结果为1;

6).^(按位异或):两位相同结果为0,否则为1; 7).~(取反):1变0,0变1 2.位运算符的考点:

1).高效的计算某数 * 2 : << 2).高效的计算某数 / 2 : >> 3).&、|同&&、||的区别: 逻辑与&&、||:具有短路行为;

4).将两个变量的值交换:三次异或;

3.三目运算符: 条件表达式 ? 表达式1 : 表达式2;

二.键盘录入:

步骤:

1.import java.util.Scanner;2.Scanner sc = new Scanner(System.in);3.int : int num = sc.nextInt();

double : double d = sc.nextDouble();

String : String s = sc.next();三.选择结构:

1.if语句:

1)格式1:

if(条件表达式){ } 注意:如果if体内只有一条语句,可以省略大括号,但不建议;

2)格式2:

if(条件表达式){ //为true,执行这里

}else{ } //为false,执行这里

3)格式3:

if(条件表达式){ }else if(条件表达式2){ }else if(条件表达式3){ }else{ } 2.switch语句:

1).格式:

switch(表达式){

} case 值1: //代码 break;case 值2:

//代码 break;default: //代码 break;2).注意事项:

1.“表达式”可以产生的值:byte,short,int,char,枚举(JDK5以后),String(JDK7以后)2.case语句后跟“常量表达式”,不能是“变量”;而且不能出现相同的常量值;

3.break;语句“不是必须的”。如果不写,如果一旦case相应的值成功,但内部没有break语句,那么将会无条件(不再进行case匹配)的继续向下执行其它case中的语句,直到遇到break;语句

或者到达switch语句结束。4.多个case之间,没有顺序关系;

5.default语句“不是必须的”。可以不写,它就相当于多重if语句中最后的else。6.default语句和case语句“没有顺序关系”。

DAY05 一.while循环:

while(条件表达式){ } 二.do_while循环:

do{ }while(条件表达式);三.for循环:

for(定义循环变量表达式

;

条件表达式

;增量表达式){ } 说明:

1.三个表达式都不是必须的;但分号必须要写; 2.执行顺序:

1).定义循环变量表达式; 2).条件表达式;3).进入循环; 4).增量表达式; 5).条件表达式;

6).进入循环 7).增量表达式......四.三种循环的区别:

1.只有do_while循环是先无条件的进入循环体执行一次,然后再判断;

while和for循环都先判断,后进入循环体; 2.一般对于有明显的遍历范围的,建议首选for循环。

对于没有明显遍历范围的,一般使用while。

对于循环体中的内容,如果需要先执行一次,再判断,那么可以使用do_while DAY06 一.方法:

1.方法的作用:代码复用; 2.方法定义的格式:

修饰符 返回值类型 方法名([形参列表]){ } 修饰符:目前只需要写:public static 返回值类型:可以是任何的Java类型(基本数据类型、引用数据类型)。

如果没有返回值,这里要写void

方法名:自定义标识符;

形参列表:可以没有,但是一定写一对小括号。

如果有,每个形参是由:数据类型 形参名

多个形参,中间用逗号隔开;

3.方法内,可以写什么?

1).定义变量;

2).if语句,switch语句; 3).各种循环语句;

总之:除了不能定义方法,其它都可以; 4.方法的注意事项:

1).方法不调用不执行;2).方法与方法是平级关系,不能嵌套定义;3).方法定义的时候参数之间用逗号隔开;4).方法调用的时候不用在传递数据类型;5).如果方法有明确的返回值,一定要有return带回一个值;5.方法的重载:

1).在一个类中,可以定义多个同名的方法,但形参列表不能完全相同; 2).方法重载,跟返回值类型无关;跟形参名无关;

二.数组:

1.一维数组:

1).定义的格式:

1.动态初始化:数据类型[] 数组名 = new 数据类型[数组长度];2.静态初始化:

数据类型[] 数组名 = new 数据类型[]{值1,值2,值3,.....,值n};

数据类型[] 数组名 = {值1,值2,值3.....值n};2).数组是“引用数据类型”,变量存储的是“引用(地址)”;

3).当new(实例化)一个数组对象时,其“值”的空间是在堆中分配的,对于各种数据类型,都会分配一个

默认值:

整数:0 小数:0.0 字符:'u0000' 布尔:false String:null 其它引用类型:null 4).数组的访问方式:使用:数组名[索引] DAY07 一.二维数组:

1.定义的格式:

数据类型[][] 数组名 = new 数据类型[第一维的长度][第二维的长度];左边也可以写成:

数据类型 数组名[][] 数据类型[] 数组名[] 数据类型[][] 数组名 = new 数据类型[][]{{值1,值2},{值3,值4},{值5,值6,值7}};数据类型[][] 数组名 = {{值1,值2},{值3,值4},{值5,值6,值7}};二.方法的值传递和引用传递: 1.当一个方法接收的是一个“基本数据类型”时,调用方法传递实参时,是将“值”复制到方法内;

在方法内,如修改其值,修改的只是“副本”,原值不会被改变;

2.当一个方法接收的是一个“引用数据类型”是,调用方法传递实参时,是将“引用”复制到方法内;

在方法内,是可以通过这个引用修改“堆”空间的内容,即使方法结束,修改会影响到原堆中的值;

DAY08

一.类:是一组相关的“属性”和“行为”的集合;

对象:是该类事物的具体体现; 二.类和对象的关系:

1.现实:

类 对象 猫 波斯猫

折耳猫 加菲猫

---------

狗 金毛

藏獒 沙皮

2.代码:

类 对象

Cat c1 = new Cat();c1.name = “波斯猫”;class Cat{

}

String name;int age;c1.age = 2;

----Cat c2 = new Cat();c2.name = “折耳猫”;c2.age = 3;----------------------------class Dog{

}

Dog d1 = new Dog();d1.name = “金毛”;String name;int age;d1.age = 2;

----Dog d2 = new Dog();d2.name = “藏獒”;d2.age = 3;

三.类的定义:

1.使用关键字:class(注意小写)2.一个java源文件中:

1).如果定义多个类,但只有一个是public的;而且源文件名必须与这个public的类名一致; 2).如果定义多个类,可以没有public类;源文件名没有一致性要求;

3).main()方法不是必须放在public类中;

3.类中可以定义什么:

1).成员变量:

A.可以是基本数据类型,也可以是任何引用数据类型; B.可以显示初始化;

class Student{

} String name = “张三”;int age = 20;C.可以隐式初始化;

整型:0 浮点:0.0 字符:'u0000' 布尔:false 引用类型:null 2).成员方法: A.可以有参数,可以没参数;

可以有返回值,可以没有返回值;

B.方法的“形参”可以是任何Java类型(基本数据类型、引用数据类型)C.方法的“返回值”可以是任何Java类型(基本数据类型、引用数据类型)D.一个类中可以定义多个同名的方法,但形参列表不完全相同,叫:方法的重载;

3).内部类(后面讲);

4.成员变量和局部变量的区别:

1).成员变量: A.定义在“类体”中;可以是任何数据类型;

B.会被自动初始化;

class Student{

} String name;void show(){ } System.out.println(“我叫:” + num);

//打印:我叫:null C.当实例化对象后,被存储在“堆”中;

D.当“对象”不被使用(没有任何引用),并被垃圾回收器回收时被清理;

2).局部变量:

A.定义在某个方法、或其它代码块中; B.必须显示初始化,否则不能访问其值;

class Student{

void show(){ String name;System.out.println(“我叫:” + name);

//编译错误。局部变量必须显示初始化才能访问其值;

} } name = “张三”;//OK。可以被赋值。

C.当方法或其它代码块被执行时,基本数据类型的“值”和引用数据类型的“引用”都是存储在“栈”中; D.当方法或代码块执行完毕时,会被立即清理;

四.对象的使用:

1.创建对象使用new关键字;会在堆中分配内存空间; 格式:

类名

变量名 = new 类名();2.一个类可以创建多个对象;

3.每个“对象”的“成员变量”在“堆”中都有一份独立的空间;

每个“对象”的“成员方法”被存储在“方法区”中,多个对象只有一个“方法空间”; 4.对象的“引用(地址)”被存储在“栈”中;

五.方法的形参:

1.可以是“基本数据类型”:

1).调用时,必须传递此类型的“值”; 2).调用时,是将值复制一份到方法内部; 3).在方法内,使用形参接收此值的副本; 4).在方法内,如果更改此值,对原值没有影响;

int a = 10;show(a);System.out.println(a);//10---public void show(int n){//n = 10 } n = 20;//对原来的a的值是没有影响的;

2.可以是“引用数据类型”:

1).调用时,必须传递此类型的“引用”;

2).调用时,是将“引用(地址)”复制一份到方法内部; 3).在方法内,使用形参接收此“引用”的副本;

4).在方法内,如果通过此引用更改堆中的值,对原堆中的值将会产生影响;

int[] arr = {14,324,435};//arr = 0x2233 show(arr);//show(0x2233)System.out.println(arr[0]);//1000

----public void show(int[] array){//array = 0x2233 } array[0] = 1000;六.匿名对象:

1.匿名对象:没有名字的对象:new Student();2.匿名对象的两种使用情况:

1).对象调用方法仅仅一次的时候:new Student().show();2).作为实际参数传递:printStudent(new Student());七.封装:

1.直接对外部暴露成员变量是很不安全的,这时可以将成员变量“私有化”,对外提供公有的 get和set方法; 2.封装的好处:

1)隐藏实现细节,提供公共的访问方式 2)提高了代码的复用性 3)提高安全性。

3.封装的原则:

1)将不需要对外提供的内容都隐藏起来。2)把属性隐藏,提供公共方法对其访问。

八.private关键字:

1.是一种“访问修饰符”(将在day10讲到);

Java中一共有四种访问修饰符:从宽到窄:public,protected,(默认),private 2.用于修饰“成员变量”和“成员方法”;

3.被private修饰的成员,只能在类的内部被其它成员访问。在类外部无法访问;

九.this关键字: 1.每个类都有一个“隐式”的变量:this;

2.它是在实例化对象时,由虚拟机自动赋值的,会被自动赋值为当前对象的“引用”。

所以每个对象内的this变量的值是不同的;

3.this关键字可以调用本对象的“成员属性”、“成员方法”、“构造方法”; 4.以下情况必须显示的使用this:

1).“局部变量”覆盖“成员变量”时,可以使用this显示的访问被覆盖的“成员变量”;

否则访问的是“局部变量”;

2).在一个构造方法中调用本类的其它构造方法;this()或this(实参);

DAY09

一.构造方法:

1.当实例化一个类的对象时,JVM会自动调用本类的一个方法:构造方法;

2.定义类时,可以不定义构造方法,编译器会自动添加一个无参,什么都不做的构造方法; 3.如果类中定义了构造方法,编译器就不会添加任何构造方法了; 4.构造方法的格式要求:

1).构造方法名必须与类名一致;

2).构造方法不能定义“返回值类型”,甚至是void;

3).构造方法不能返回一个具体的值,但内部可以使用return;语句; 注意:

1).以下代码可以编译通过:

class Student(){

} public void Student(){ }

//普通成员方法,不是构造方法;

2).以下代码不能通过编译:

class Student(){ public student(){ }

//构造方法必须同类名一致,包括大小写;

} 5.一个类中可以定义多个“构造方法”,但每个构造方法的形参列表不能完全相同,叫:构造方法的重载; 6.在一个构造方法中可以调用另一个构造方法,使用this关键字; 7.构造方法可以调用“成员方法”,但“成员方法”不能调用构造方法;

构造方法也可以调用其它构造方法;

二.static关键字:

1.static关键字:静态的,全局的。

2.可以修饰“成员变量”和“成员方法”。被static修饰的成员变量存储在方法区的“静态存储区”,只有

一份拷贝,被多个对象共享;

3.特点:

1).随着类的加载而加载

2).优先于对象存在3).被类的所有对象共享

4).可以通过类名调用,也可以通过对象名调用; 4.static关键字注意事项:

1).在静态方法中是没有this关键字的

2).静态方法只能访问静态的成员变量和静态的成员方法

三.静态变量和成员变量的区别:

1.所属不同

1).静态变量属于类,所以也称为为类变量

2).成员变量属于对象,所以也称为实例变量(对象变量)2.内存中位置不同

1).静态变量存储于方法区的静态区 2).成员变量存储于堆内存

3.内存出现时间不同 1).静态变量随着类的加载而加载,随着类的消失而消失

2).成员变量随着对象的创建而存在,随着对象的消失而消失

4.调用不同

1).静态变量可以通过类名调用,也可以通过对象调用 2).成员变量只能通过对象名调用

DAY10 一.代码块(理解):

1.普通代码块(类体中):包含:局部代码块(方法或其它代码块内)2.静态代码块:(类体中)作用:

1.初始化成员变量。执行流程:

1.普通构造代码块:每次实例化此类对象时,会被执行。它会先于“构造方法”被执行; 2.静态代码块:第一次实例化此类对象时; 3.静态代码块-->普通构造代码块-->构造方法:

二.继承(必须掌握):

1.使用关键字:extends 2.作用:代码重用。为多态提供了前提; 3.this和super的区别:

1).this:

1).在任何类中使用; 2).存储的是本类对象的引用;

3).可以访问本对象的成员变量、成员方法、构造方法;

2).super:

1).在子类中使用;

2).存储的是父类对象的引用;

3).可以访问父类对象的成员变量、成员方法、构造方法;

4.类的初始化过程:

加载class文件 堆中开辟空间 变量的默认初始化 变量的显示初始化 构造代码块初始化 构造方法初始化

成员变量-->构造代码块-->构造方法 5.Java中继承的特点:

1).Java中只能单继承; 2).Java中可以多级继承;

6.继承的好处和弊端:

好处: 1).代码复用

2).为多态提供了前提; 弊端:

1).由于继承,子类对父类产生了依赖;

三.方法重写:

1.在子类中,定义跟父类一模一样的方法,这叫:方法重写; 2.重写的规则:

1).返回值类型、方法名、形参列表:要完全一致; 2).子类的访问修饰符可以跟父类的相同,或更宽;

3.重写的意义: 1).子类保留了父类的方法,具有了自己特有的行为;

4.重写和重载的区别: 1).重写:在子类中定义跟父类一模一样的方法;

2).重载:在一个类中,定义:方法名相同,参数列表不完全相同的方法,叫:重载。跟返回值类型无关;

四.final关键字:

1.可以修饰: 成员变量:表示其变量拥有最终的值,不能被更改,成为“常量”。修饰基本数据类型:表示其值不能被修改。修饰引用数据类型,表示地址不能被修改;

成员方法:表示最终的方法。不能被重写; 类:

表示最终类。不能被继承;

局部变量:表示其值不能改变;区分:基本类型和引用类型; 方法形参:表示其值不能改变;区分:基本类型和引用类型;

DAY11

一.多态:

1.父类的引用指向子类的对象; 2.多态前提和体现

1).有继承关系 2).有方法重写

3).有父类引用指向子类对象

3.多态的转型:

1).自动转型:子类的引用转为父类的引用;Person p = new Student();2).强制转型:父类的引用转为它所指向的子类对象的引用;Student stu =(Student)p;3).在进行强制转型前,为保证安全,可以使用instanceof关键字进行判断:

if(p instanceof Student){ } Student stu =(Student)p;4.多态的好处:

1).提高了程序的维护性(由继承保证)2).提高了程序的扩展性(由多态保证)

5.多态的弊端: 1).不能访问子类特有功能(可以向下转型)6.多态时的访问规则:

1).总体规则:访问的任何成员父类中必须要有,否则编译错误;

例如:

class A{ } class B extends A{ } main(){

} A a = new B();System.out.println(a.n);//编译错误,父类中没有n int n = 20;int num = 10;2).成员变量:如果子、父类中都有,访问的是“父类”的;

class A{ } class B extends A { } main(){

} A a = new B();//多态

System.out.println(a.num);//打印10;

int num = 20;int num = 10;

普通方法:如果子、父类中都有(重写),访问的是“子类”的;

class A{

} class B extends A{

} main(){

} A a = new B();a.show();

//打印:B-->show()(访问的是子类的show());void show(){ } System.out.println(“B-->show()”);void show(){ } System.out.println(“A-->show()”);

静态方法:如果子、父类中都有(重写),访问的是“父类”的;

二.抽象类:

1.使用abstract关键字修饰;可以修饰“类”,可以修饰“成员方法”;

abstract class A{ } abstract void show();2.“抽象类”的特点:

1).不能被实例化,只能用于被继承;

2).可以包含:成员变量、构造方法、成员方法、抽象方法; 3).可以不包含抽象方法;

3.“抽象方法”的特点:

1).没有方法体;abstract void show();2).必须被子类重写。除非子类也是个抽象类;

3.子类继承抽象类使用关键字:extends,仍然是单继承;

4.一个子类继承 了一个抽象类,必须实现抽象类中所有的抽象方法;

否则子类也必须是抽象的。

例如:

abstract class A{ } class B extends A{ }

//编译错误。类B不是抽象的,继承类抽象类必须重写抽象类中的所有abstract void show();抽象方法。abstract class B extends A{ } //编译通过。类B没有重写父类中的抽象方法,但类B是抽象的。

5.abstract关键字不能和哪些关键字共存:

1.private:抽象方法就是用来被子类重写的,而私有方法不能被子类重写;

2.final:抽象类和抽象方法就是用来被子类继承和重写的,而fianl类和final方法不能

被继承和重写; 3.static:static修饰的方法在没有任何对象的情况下就会被分配内存空间;而抽象方法

没有方法体,无法分配空间;

三.接口:

1.使用interface关键字定义:只能修饰“类”:

interface IA{ } 2.“接口”的特点:

1).不能被实例化,没有构造方法,只能用于子类“实现”; 2).可以包含:

A.成员变量(常量):隐式的定义为:public static final。

例如: interface IA{

} public int num1 = 10;

//OK

上述三个关键字中任何一个都可以不写,系统会自动添加;

static final int num2 = 20;//OK final int num3 = 30;

//OK

//OK public final num4 = 40;int num5 = 50;

//OK B.抽象方法:隐式的定义为:public abstract。可以省略,系统会自动添加

例如: interface IA{

} void show1();

//OK

//OK;public void show2();abstract void show3();//OK;3).接口的功能是:扩展功能;

3.子类实现接口使用关键字:implements 4.一个子类可以同时实现多个接口;

interface IA{} interface IB{} class C implements IA,IB{ //OK的。} 5.子类实现接口时,必须重写接口中所有的抽象方法,而且必须是public的--因为

接口中抽象方法的定义隐式的是public的。

例如:

interface IA{ } class B implements IA{ void show(){ }

//编译错误。父接口的show()隐式的为public的,子类重写时void show();必须是public的;

} 5.接口编译后一样会生成.class文件。

四.多态的形式:

1.父类的多态; 2.抽象类多态; 3.接口多态;

五.类与类,类与接口,接口与接口的关系:

1.类与类:继承关系,关键字:extends,只能单继承,但是可以多层继承

2.类与接口:实现关系,关键字:implements,可以单实现,也可以多实现。还可以在继承一个类的同时实现多个接口

3.接口与接口:继承关系,关键字:extends,可以单继承,也可以多继承

例如:

interface IA{} interface IB{} interface IC extends IA,IB{} //OK的

六.抽象类和接口的区别:

1.成员区别 1).抽象类 变量,常量;有抽象方法;抽象方法,非抽象方法

七.2).接口 常量;抽象方法

2.关系区别

1).类与类 继承,单继承

2).类与接口 实现,单实现,多实现 3).接口与接口 继承,单继承,多继承

3.设计理念区别

1).抽象类 被继承体现的是:”is a”的关系。共性功能 2).接口 被实现体现的是:”like a”的关系。扩展功能

一.类名作为形参:

1.实参可以是:

1).此类对象的引用;2).null;3).此类子类对象的引用;

二.抽象类作为形参:

1.实参可以是:

1).此类子类对象的引用; 2).null;

三.接口作为形参:

1.实参可以是:

1).此接口子类对象的引用; 2).null;

四.类名作为返回值:

1.可以返回的类型:

1).此类对象的引用; 2).null;

3).此类子类对象的引用;

2.可以用什么类型接收:

1).使用此类类型;

2).不能使用某个子类类型接收;

五.抽象类作为返回值:

1.可以返回的类型:

1).null;2).此类子类对象的引用;

2.可以用什么类型接收:

1).使用此类类型;(多态)2).不能使用某个子类类型接收;

六.接口作为返回值:

1.可以返回的类型:

1).null;2).此接口子类对象的引用;

2.可以用什么类型接收:

1).使用此接口类型;(多态)2).不能使用某个子类类型接收;

DAY12

一.包:

1.定义包使用关键字:package;

1).注意事项:

A.package语句必须是程序的第一条可执行的代码 B.package语句在一个java文件中只能有一个 C.如果没有package,默认表示无包名

2.导入包使用关键字:import;

1).注意事项:

A.导入到最终的类;

B.可以使用通配符:*,只统配包下的类,不包括子包下的其它类; C.在一个类文件中,可以有多条import语句;

D.import语句必须在package语句之后,在定义类之前;

3.package,import,class有没有顺序关系? 有:package-->import-->class 二.访问修饰符:

1.用于限定“类”和“成员”被其它包下的其它类访问的; 2.四种访问修饰符:

1).public(公有):可以修饰类、成员。可以被任何包下的其它类访问; 2).protected(保护):可以修饰成员。可以被同包下的其它类访问。如果在包外

只能被子类访问;

3).(默认):可以修饰类、成员。只能被包内的其它类访问; 4).private(私有):可以修饰成员。只能被类中的其它方法访问;

3.类及成员可用的修饰符:

1).类:

默认,public,final,abstract 我们自己定义:public居多

2).成员变量:

四种权限修饰符均可,final,static 我们自己定义:private居多

3).构造方法:

四种权限修饰符均可,其他不可 我们自己定义:public 居多

4).成员方法:

四种权限修饰符均可,fianl,static,abstract 我们自己定义:public居多

三.内部类:

1.成员内部类:

1).定义在类体中,作为类的成员;

2).可以使用同类“成员方法”相同的修饰符;

2.局部内部类:

1).定义在某个方法或代码块内部;

2).不能使用“访问修饰符”,不能使用static修饰符;可以使用final和abstract 3).注意:局部内部类访问“局部变量”,要求局部变量必须是final的(常量);(重点)

3.匿名内部类:

1).就是内部类的简化写法。2).前提:存在一个类或者接口 这里的类可以是具体类也可以是抽象类。

3).格式: new 类名或者接口名(){重写方法;} 4).本质: 是一个继承了类或者实现了接口的子类匿名对象

DAY14 一.Object类:

1.所有引用数据类型(包括类库中的类,自定义类,数组)的超类; 2.定义在java.lang包,使用时不需要导包; 3.常用方法:

public class Object{ public Object(){

内存的操作;

} public int hashCode(){ //功能:用于哈希表结构的键值

//默认实现:将此对象的地址转换为int值返回;

//此方法建议子类重写;

} public final Class getClass(){ //功能:获取此对象的Class对象,在day27讲解

//此方法不能被子类重写 } public String toString(){ //功能:返回此对象的字符串表现形式;

//默认实现:全名限定的类名 + @ + hashCode(无意义)//此方法建议子类重写;

} public boolean equals(Object obj){ //功能:将当前对象与参数对象进行比较

//默认实现:比较地址(跟==的结果是一样的)//此方法建议子类重写;

} protected void finalize(){ //功能:当前对象在被垃圾回收器回收前,由垃圾回收器自动调用的方法。一般用于做些释放 //默认实现:无

//此方法根据需要由子类重写(一般我们不用)}

} protected Object clone(){

} //功能:复制此对象的副本; //默认实现:本地方法 //一般子类无需重写;

--

二.java.lang.String类:

1.一个“字符串”对象; 2.一个“引用数据类型”; 3.使用方式:

String s1 = “abc”;(常用、存储的是常量池中的地址)或:

String s1 = new String(“abc”);(存储的是堆中的地址)(在内存中创建了两个对象:1.常量池:“abc”;

class Student(extends Object){ } //默认就拥有了Object类中可以继承的方法;

2.堆:new String())

4.特点:其“值”的内容不能改变(地址可以改变);

String str = “你好”;str = “Java”;//原值被丢弃,存储了新的地址;

5.常见面试题: String s1 = “abc”;

String s2 = “abc”;System.out.println(s1 == s2);//true--------

String s1 = “Hello”;String s2 = “World”;String s3 = “HelloWorld”;String s4 = “Hello” + “World”;String s5 = s1 + s2;String s6 = “Hello” + s2;String s7 = s1 + “World”;String s8 = new String(“Hello”);System.out.println(s3 == s4);//true System.out.println(s3 == s5);//false System.out.println(s3 == s6);//false System.out.println(s3 == s7);//false System.out.println(s1 == s8);//false;6.构造方法:

public String():构造一个空字符串。效果同String str = “";public String(byte[] bytes):使用一个byte[]数组构造一个字符串;

public String(byte[] bytes,int offset,int length):使用byte[]数组的一部分构造一个字符串; public String(char[] value):使用一个字符数组构造一个字符串;

public String(char[] value,int offset,int count):使用字符数组的一部分构造一个字符串; public String(String original):使用一个字符串构造一个字符串;

7.常用方法:----注意:以下方法返回String的,都是生成一个新字符串,原字符串不变; 1).判断功能:

boolean equals(Object obj):重写父类的方法。与参数字符串比较,如果包含一样的字符序列则返回true,否则返回false;

boolean equalsIgnoreCase(String str):作用与equals()相同;但此方法不区分大小写; boolean contains(String str):判断是否包含参数字符串;

boolean startsWith(String str):判断字符串是否以参数字符串开头; boolean endsWith(String str):判断字符串是否以参数字符串结尾; boolean isEmpty():判断字符串是否是”空字符串“;

----

String s1 = ”“;String s2 = new String();String s3 = new String(”“);String s4 = null;String s5 = ”“;String s6;System.out.println(s1.isEmpty());System.out.println(s2.isEmpty());System.out.println(s3.isEmpty());// System.out.println(s4.isEmpty());

System.out.println(s1.equals(s2));System.out.println(s2.equals(s3));System.out.println(s3.equals(s1));System.out.println(s1 == s2);System.out.println(s2 == s3);System.out.println(s1 == s3);System.out.println(s1 == s5);

System.out.println(s4 == s6);-----2).获取功能:

int length():获取此字符串内部的字符数量。(区分数组的length属性)char charAt(int index):获取此字符串中index位置的字符char;int indexOf(int ch):从左向右查找,获取字符ch在字符串中第一次出现的位置。如果不包含,则返回:false

int indexOf(String str):获取字符串str在此字符串中第一次出现的位置。int indexOf(int ch,int fromIndex):从fromIndex位置开始,查找字符ch。int indexOf(String str,int fromIndex):从fromIndex位置开始,查找str。

String substring(int start):从start(包含)开始,截取到此字符串的末尾;返回一个新字符串,原字符串不变; String substring(int start,int end):从start(包含)到end(不包含)截取字符串;返回一个新字符串,原字符串不变;

3).转换功能:

byte[] getBytes():将字符串转换为一个byte[]数组。char[] toCharArray():将字符串转换为一个char[]数组;

static String valueOf(char[] chs):静态方法,将一个char[]数组转换为一个String static String valueOf(int i):静态方法,将一个int转换为一个String String toLowerCase():转换为小写; String toUpperCase():转换为大写;

String concat(String str):将参数字符串添加到本字符串的末尾。

4).替换功能:

String replace(char old,char new):使用new字符替换本字符串中的所有old字符; String replace(String old,String new):使用new字符串替换本字符串中的所有old字符串;

5).其它功能:

String trim():去掉字符串两边的空格;不包括中间的。

int compareTo(String str):重写Comparable接口的方法。按Unicode编码表的顺序与参数字符串比较;

System.out.println(”a“.compareTo(”b“));//-1 System.out.println(”a“.compareTo(”a“));//0 System.out.println(”b“.compareTo(”a“));//1 int compareToIgnoreCase(String str):不区分大小写的比较;

DAY15 一.StringBuffer类:

1.String的缓冲池类。

2.String和StringBuffer的区别:

1).String:其”值“不可变; 2).StringBuffer:其”值"可变;

当我们多次进行字符串的拼接等操作时,使用String会产生大量的垃圾空间。建议使用此类; 2.构造方法:

public StringBuffer():初始容量16 public StringBuffer(int capacity):初始容量capacity public StringBuffer(String str):使用String构造一个StringBuffer。

3.添加功能:

public StringBuffer append(String str):及各种重载的方法。将任何类型的参数添加到末尾; public StringBuffer insert(int offset,String str):将一个String插入到offset位置。原位置上的字符依次后移;

4.删除功能:

public StringBuffer deleteCharAt(int index):删除index位置上的字符

public StringBuffer delete(int start,int end):删除start到end-1处的所有字符;

5.替换功能: public StringBuffer replace(int start,int end,String str):将start到end处的所有字符替换为str;6.反转功能: public StringBuffer reverse():反转内部字符串;

7.截取功能:

public String substring(int start):截取从start到结尾,返回一个新字符串; public String substring(int start,int end):截取从start到end-1处的所有字符;

二.StringBuffer类和StringBuilder类的区别:

1.StringBuffer是线程安全的; 2.StringBuilder是线程不安全的;

三.Arrays类:

1.对数组操作的类,没有构造方法,内部包含了大量静态的工具方法; 2.常用方法:

1).public static String toString(int[] a):将int[]数组转换为String的表示形式; 2).public static void sort(int[] a):升序排序int[]数组;

3).public static int binarySearch(int[] a,int key):二分查找int[]数组中的key值;

四.包装类:

基本数据类型 byte short int long char float 包装类型

Byte Short Integer

Long Character Float Double Boolean double boolean

第三篇:《Java程序设计》课程总结.

《Java程序设计》总评成绩分析及课程总结

1、学期授课计划是否符合教学大纲要求 符合。

2、教学内容及进度是否与学期授课计划有出入,是何原因 无出入,完成规定的学习内容。

3、作业计划、阶段测试计划、期末考试完成情况如何

顺利完成预定的作业计划及阶段测试计划。顺利完成期末考试。

4、总评成绩结果分析

因学生素质较高,在课堂表现、课程作品和答辩中整体表现良好,因此总评成绩整体较高,85分以上人数占24%,无不及格学生。

5、对本课程教学及存在问题有何改进意见和设想

在今后的教学过程中应该加强“项目导向,任务驱动”的教学手段的运用,同时应采取各种方法加强与学生的互动。在本课程中,我采用了多媒体网络教室、MindMapper、飞秋等软件辅助教学,以学生为主体,以项目为主线,学生的参与性非常高,效果很好,在今后的课程中我会继续加以实践和总结。

总结人:xxx 2009-1-9

第四篇:JAVA课程总结(xiexiebang推荐)

Java课程总结

第1章 Java语言概述

1.字节码是将Java源程序编译后得到的中间代码,它在某计算机平台上由平台相关的Java虚拟机解释执行,从而实现Java程序的平台无关性和可移植性。2.Java的特点

3.Java应用程序(2种),它们不同的结构特点及实现方式 第2-4章 1.

 标识符:以英文字母、下划线、$符号开始的字符序列,后面可以跟英文字母、下划线、$符号或数字。可以标识类、接口、对象、方法、变量、数组等等。标识符不能和Java保留字同名。 数据类型 a)简单类型 i.ii.iii.iv.整数类型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)浮点类型:float(4字节)、double(8字节)字符类型(2字节)布尔类型(1位)b)复合类型 i.ii.iii.类 接口 数组

2.运算符和表达式 3.控制语句

第5章 类、对象、消息的基本概念,面向对象的基本特征。※※第6章 Java语言中的面向对象特征 要求:熟练掌握本章的内容 1.类

源程序中由若干个类组成,类是源程序的基本单元

方法重载:多个方法使用同一个名称,这些方法的返回类型必须相同,但是参数个数或类型不相同

构造方法:和类同名的、没有返回类型(不是void)的方法,修饰符可以是public或private。构造方法的主要作用是在对象实例化过程中初始化成员变量。this变量

2.对象:对象的创建、使用、删除。

包括对象间的赋值操作,对象的方法调用(不同的参数类型)。

3.包:

以package语句定义的类前缀,没有定义包名的类属于默认包。Package语句必须是源代码文件的第一个有效语句。使用非默认包中的类一般都用import语句。

4.面向对象特性:封装、继承和多态性

Java访问修饰符种类:public、private、protected 继承:用于继承父类的所有非private成员,语法上使用extends关键字 覆盖(重写):在子类中重新定义父类的方法 5.其他:

①final关键字 ②static关键字

③java.lang.Object类

6.抽象类和接口

抽象类:以abstract修饰符修饰的类,这种类不能被直接实例化成对象,一般都包含0个或多个abstract方法。

接口:以interface定义的特殊抽象类,其所有成员变量都是abstract型方法,所有成员变量都是常量。第7章 数组和向量

数组的定义:不能直接指定元素个数,复合类型的数组变量必须逐元素初始化 当我们需要存储不定长数据时,可以用向量(java.util.Vector类的对象)来代替数组。

第8章 字符串:构造方法、常用的成员方法

 在Java语言中,字符串作为对象来处理,对应的类为java.lang包中的String和StringBuffer。

第10章 异常处理(大部分类在java.io包中)

重点掌握:几种主要的异常类;异常处理机制

异常处理2种方式(try-catch-finally、在方法声明后面使用throws子句抛弃异常)try-catch-finally语法格式为:

try{ 可能导致异常的代码 } catch(异常类型 变量){ [异常的处理代码] } [catch(异常类型 变量){ [异常的处理代码] }] [finally{ 有无异常,都需要执行的代码 }]

能看懂自定义异常、提交和处理异常的过程。

※第11章 输入输出处理(java.io包中)

 常见字节流类:InputStream、OutputStream、FileInputStream、FileOutputStream

 常见字符流:Reader、Writer、BufferedReader、BufferedWriter、InputStreamReader、OutputStreamWriter ※ ※第12章 图形用户界面设计

Java GUI的实现方式:AWT和Swing,要求:掌握界面元素添加、布局,事件处理,灵活运用java.awt包中的类,看懂例题并能熟练编写程序。

组件、容器和布局管理器的使用

事件及事件处理(java.awt.event包)

第12章 线程

一般掌握

线程实现的两种方式:继承Thread类或实现Runnable接口

第13章 Applet技术基础(java.applet包中)一般掌握

Java Applet程序的执行过程。

Java语言具有多媒体功能,支持图像、动画的显示和声音的播放。第15章 网络编程(java.net包)一般掌握 Socket通信、URL 掌握基本的通信过程,理解建立套接字、通过获得输入、输出流对象,进行通信的过程。URL:(统一资源定位地址),是Internet中信息资源所在位置的一种表示方法 掌握,从网络下载资源的基本操作语句。

第五篇:JAVA程序设计课程总结

JAVA程序设计课程总结

专业:计算机科学与技术 学号: 姓名:

JAVA程序设计课程总结

经过一学期的java学习,我在老师的上课讲解以及自己的课下学习中对java编程有了一定的了解,我深深喜欢上了这种语言。培养了我正确应用面向对象的思维方法分析问题和解决问题的能力。

学习的内容主要分为以下几个部分:(1)java程序的编辑,编译,运行环境

(2)java语言程序设计中最基本的问题,即标识符,关键字,数据类型,常量,变量,表达式,声明语句,赋值语句,数据的输入与输出等。(3)流程控制语句,即分支语句,循环语句,转移语句。

(4)控制研究对象复杂性的原则,即分类,抽象,封装和继承,多态等。(5)数组的定义。(6)高级GUI组件的应用。

其中我对类与继承了解较多。一.类

在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,泽类文件的名称可以为任意的名称,但不能是数字开头的名称。在类内部对于成员变量,如果在定义的时候没有进行显示的赋值初始化,则java会保证类的每个成员变量都得到恰当的初始化:

1)对于char、short、byte、int、long、float、double等基本数据类型的变量来说会默认初始化为0,bolean变量默认会被初始化为false; 2)对于引用类型的变量,会默认初始化为null。

3)如果没有显示地定义构造器,则编译器会自动创建一个无参构造器,注意:如果显示地定义了构造器,编译器就不会自动添加构造器,所有的构造器默认为static的。

初始化顺序为:当程序执行时,需要生成某个类的对象,Java执行引擎会先检查是否加载了这个类,如果没有加载,则先执行类的加载再生成对象,如果已经加载,则直接生成对象。在类的加载过程中,类的static成员变量会被初始化,另外,如果类中有static语句块,则会执行static语句块。static成员变量和static语句块的执行顺序同代码中的顺序一致。在Java中,类是按需加载,只有当需要用到这个类的时候,才会加载这个类,并且只会加载一次。例如:

运行这段代码就会发现“欧阳”只会被打印一次。在生成对象的过程中,会先初始化对象的成员变量,然后再执行构造器。也就是说类中的变量会在任何方法调用之前得到初始化,即使变量散步于方法定义之间。

二.继承

在java中使用extends关键字来表示继承关系,当创建一个类时,总是在继承,如果没有明确指出要继承的类,就总是隐式的从根类Object进行继承。例如:

类Number继承于Student类,Student类称为父类(基类),Number类称为子类(导出类)。如果两个类存在继承关系,则子类会自动继承父类的方法和变量,在子类中可以调用父类的方法和变量。在java中,只允许单继承,也就是说 一个类最多只能显示地继承于一个父类。但是一个类却可以被多个类继承,也就是说一个类可以拥有多个子类。1.子类继承父类的成员变量

当子类继承了某个类之后,便可以使用父类中的成员变量,但是并不是完全继承父类的所有成员变量。具体的原则如下: 1)能够继承父类的public和protected成员变量;不能够继承父类的private成员变量; 2)对于父类的包访问权限成员变量,如果子类和父类在同一个包下,则子类能够继承;否则,子类不能够继承; 3)对于子类可以继承的父类成员变量,如果在子类中出现了同名称的成员变量,则会发生隐藏现象,即子类的成员变量会屏蔽掉父类的同名成员变量。如果要在子类中访问父类中同名成员变量,需要使用super关键字来进行引用。

2.子类继承父类的方法

子类也并不是完全继承父类的所有方法。1)能够继承父类的public和protected成员方法;不能够继承父类的private成员方法; 2)对于父类的包访问权限成员方法,如果子类和父类在同一个包下,则子类能够继承;否则,子类不能够继承;

3)对于子类可以继承的父类成员方法,如果在子类中出现了同名称的成员方法,则称为覆盖,即子类的成员方法会覆盖掉父类的同名成员方法。如果要在子类中访问父类中同名成员方法,需要使用super关键字来进行引用。

注意:隐藏是针对成员变量和静态方法的,而覆盖是针对普通方法的。

3.构造器

子类是不能够继承父类的构造器,如果父类的构造器都是带有参数的,则必须在子类的构造器中显示地通过super关键字调用父类的构造器并配以适当的参数列表。如果父类有无参构造器,则在子类的构造器中用super关键字调用父类构造器不是必须的,如果没有使用super关键字,系统会自动调用父类的无参构造器。例如:

这样的代码是没有问题的,如果把父类的无参构造器去掉,则下面的代码必然会出错:

改成下面这样就行了:

4.Super super主要有两种用法: 1)2)super.成员变量/super.成员方法;super(parameter1,parameter2....)第一种用法主要用来在子类中调用父类的同名成员变量或者方法;第二种主要用在子类的构造器中显示地调用父类的构造器,要注意的是,如果是用在子类构造器中,则必须是子类构造器的第一个语句。

以上就是我掌握较好的点,但是其中也有很多我没有考虑到的地方。很感谢老师陪我度过了一个愉快的学期,老师的教学方法(即实例与理论结合)也是我所认可的,能接受的,相信我在以后的工作生活中会越来越好。

下载Java逻辑课程总结10班word格式文档
下载Java逻辑课程总结10班.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    P10软件班-使用java语言理解编程逻辑-课程实训要求

    《使用Java理解编程逻辑》课程实训要求 1. 课程实训目的 进行课程实训的目的主要是让学生对所学基础知识进行梳理、巩固和提高。通过实训使学生熟悉系统开发的基本流程,掌握......

    基础班课程总结

    基础班课程总结 文学文化常识、 应用文写作、 材料话题作文的议论文写法—— 15+30+70=115 分 文学文化常识、应用文写作: 背: 1 死背(模型、句法、对应) ; 2 理解之后的记忆。......

    Java语言程序设计课程知识点总结

    Java语言程序设计课程知识点总结 by wgc 1、构造方法 无返回值,和类名相同 new调用2、方法的重载 (1同3不同)方法名称相同参数个数 类型 顺序不同 与返回值类型无关构造方法......

    课程的逻辑读后感

    《课程的逻辑》读后感钟启泉教授的著作《课程的逻辑》一书,主要围绕两大主题“创新课程文化”和“重建课堂教学”展开,其中包括课程改革的价值转型、课程发展的回归、课程统整......

    辩证逻辑逻辑与现代思维课程总结

    辩证逻辑逻辑与现代思维课程总结 逻辑思维是指符合某种人为制定的思维规则和思维形式的思维方式,我们所说的逻辑思维主要指遵循传统形式逻辑规则的思维方式。常称它为“抽象......

    Java技术课程讲稿

    Java技术 北京邮电大学计算机学院 mengxw@bupt.edu.cn 孟 一 上课要求 二 语言部分参考书 1 孟祥武,张玉洁:《面向对象的Java语言程序设计》,北京邮电大学出版社,2001年3月 2......

    Java程序设计课程教案

    Java使用教材: 程序设计课程教案(普通版) Java程序设计教程,雍俊海主编,清华大学出版社,2007,国家十一五规划教材 主要参考书: 《Java语言程序设计》,郎波,清华大学出版社,2005年5月......

    Java语言课程教学大纲

    Java语言程序设计教学大纲 课程编号: 课内学时:3学时/周学分:3 课程目的与要求 Java语言程序设计是为计算机科学与技术系高年级本科生开设的专业选修课程。目的是让学生了解......