学习总结
1. 类和对象
一个月来,我所做的就是编写一个个类,并用这些类创建对象,现在对于类和对象我已经有了初步的理解。
首先,类是一个模板,用来生成具体对象。类中定义了具体对象所共有的属性(形态描述)和方法(行为和功能)。
其次,类是一种数据类型。
创建类: public class ClassName{
........
}
创建对象通过关键字new:如果类中没有重写构造器 ClassName cn = new ClassName() ;
2.数据类型
数据类型主要包括基本数据类型和类类型2种。
Java中一共有8种基本数据类型:byte,short,int,long,float,double,char,Boolean
所占字节数分别为: 1 , 2 , 4 , 8 , 4 , 8 , 2 , 1
字符串类型不属于基本数据类型,在Java中字符串类型被定义成类,但可以被直接引用。
3.值传递和引用传递
值传递 : 在Java中,如果方法中的参数是基本数据类型,那么就是值传递,接受的是数值。当参数接受了基本数据变量所传递的值以后,就与传递这个值的标量没有关系了。下面是一个例子:
private int x = 5 ;
num = method(x);
...............
public int method(int x ){
x *= 10 ;
return x ;
}
System.out.println("x="+x + " num="+num);
运行后x=5 , num=50;
引用传递:如果参数是一个对象,那么就是引用传递,接受的是一个对象的引用地址,指向代表这个参数的对象,任何对这个参数的改变都是对那个对象变量的改变。下面是一个例子:
SomeClass sc = new SomeClass(5);//对对象sc的变量x赋初值5;
method(sc);
.................
public void method(SomeClass sc){
sc.setX(50);//将一个SomeClass类的对象的属性值x赋值为50 ;
}
运行后sc的属性x值为50;
4.构造器和方法
构造器的主要作用是在创建对象的时候对其变量初始化。其格式如下:
public ClassName(param1,param2...){
..............
}
构造器名和类名必须相同,不允许有返回值,也不用void。
构造器可以重载,即一个类可以有多个不同的构造器。
构造器重载:每个构造器和其他构造器的参数个数或则参数次序排列不同。
方法:方法就是对象的行为,执行对象要进行的运算与操作。格式如下:
public void(或者任一数据类型) method(param1,param2......){
...................
}
若方法有返回值,要满足所有情况下对返回对应数据类型的值。
方法重载与构造器重载规则相同。
多态 : 子类可以重写继承父类的方法,但该方法的访问权,返回类型,方法名,参数必须相同,方法的实现不同。
5.接口
接口和类有所不同,类对其对象提供了具体了具体的运算与操作代码,而接口只是对实现该接口的类提供了一些协议,有点像所有实现一个接口的类共享该接口的方法与常量。接口中只规定静态常量,方法不能有实现代码。
如下是一个创建接口的例子:
public interface InterfaceName{
static final int price = 8 ;
public void calculateTotal(int quantity ,int price ) ;
..........
}
6.队列
队列和数组不同,数组是一组相关元素的集合,这些元素必须是相同的类型,可以是基本变量类型,也可以是对象 。
数组一经创建,其元素类型和大小就被确定,不可以再更改。
但是很多时候,只使用数组无法解决问题,比如通讯录的存储,无法得知要存储多少个号码,若是数组长度定义过大就
太浪费内存,于是就有了队列。可以随意添加元素,其长度自动增加,也可以删除,在指定位置插入删除元素。队列其实
是数组的一种运用。
如下是一个基本队列的类:
public class Que {
private String sa[] = new String[0] ;
//增添元素至最后一位
public void add(String s){ //复制sa中的值到s2
String[] s2 = new String[sa.length+1];
for(int i=0;i<sa.length;i++){
s2[i] = sa[i];
}
s2[sa.length] = s ; // 将要添加的值加到s2的最后一位
sa = s2 ;
}
//得到队列的大小
public int getSize(){
return sa.length ;
}
//得到指定位置的元素值
public String getAtIndex(int index){
return sa[index];
}
//在指定位置添加元素
public void add(int index , String s){
String[] s3 = new String[sa.length+1] ;
int i;
//得到index位之前sa中de元素值,复制到s3中
for(i=0;i< index ;i++){
s3[i] = sa[i] ;
}
s3[index] = s ; //将 s 添加到 index为上
for(i=index+1 ; i<s3.length ;i++){
s3[i] = sa[i-1] ;
}
sa = s3 ;
}
//删除队列指定位置上的元素
public void remove(int index ){
String[] s4 = new String[sa.length-1] ;
int i ;
//复制index位之前的元素到s4中
for(i =0 ;i<index;i++){
s4[i] = sa[i] ;
}
//复制index位之后的元素到s4中
for(i=index ;i<s4.length ;i++){
s4[i] = sa[i+1] ;
}
sa = s4 ;
}
}
这是一个基本队列,但是每次添加一次元素,就要新建一个数组,程序运行所需的时间长,于是就有了队列的优化,使程序更加友好。比如:可以初始化数组sa的长度,设置每次队列长度的增加值。
队列的优化问题主要要注意数组越界问题。比如,增添元素时要判断是否超出sa的长度,在指定位置删除第index个元素时要判断index是否超出队列的size等等。 由于时间有点晚了,代码我就不敲了。
7.Swing组件的继承体系
所有的swing组件都继承于javax.swing.JComponent这个抽象类,这样做的好处就是可以规范所有JComponent类的子类的方法属性,使之拥有一些比较统一的方法。
8.文件格式
文件格式是电脑存储文件时对数据流采取的不同编码方式,不同的文件格式读入读出数据的方式不同,如果读出方式不对就读不出数据或读不到正确的数据。每个文件都有扩展名,扩展名主要用来帮助区分不同文件按格式,提示系统采用什么程序读取文件。如果扩张名与文件实际类型不同,系统读取文件就会出错。
比如我们保存所画的图形时,依次读入形状的个数,每个形状对象的坐标,颜色的RGB值,可以把保存的图像定义为一种新的文件格式ipg,该图像系统无法读取,因为读出数据的方法不对。
分享到:
相关推荐
标题中的“计算机大一到大二初级阶段学习总结文档【JAVA,C,C#,HTML,数据库】”涵盖了大学前两年计算机科学的基础课程,主要包括五个关键领域的学习:Java、C、C#、HTML以及数据库。这些是编程语言和Web开发的基石,...
**学习总结**是巩固知识的重要环节。定期回顾所学,找出不足,优化学习方法,将有助于提升学习效果。在学习过程中,还要关注实际工作任务,确保理论学习与实践应用相结合。 **实训**是检验学习成果的关键步骤。通过...
《新标准日本语初级知识点总结》是一份针对日语初学者的宝贵资料,它涵盖了初级阶段的核心知识,旨在帮助对日语有兴趣的学习者系统地掌握基础日语。这份压缩包包含两部分:上册1-24课和下册25-48课,分别对应了初级...
【知识点详解】 本课主要涉及的是初中政治课程中的“九...通过本课的学习,学生将能更深刻地认识我国的国情,理解社会主义初级阶段的内涵,进一步增强对社会主义制度的认同感,为将来参与国家建设打下坚实的思想基础。
标题中的"11初级阶段的社会主义(第1课时).ppt"指的是对中国社会主义初级阶段的初步学习。在这个阶段,我们将探讨中国自1949年成立以来,特别是自20世纪50年代中期社会主义改造完成后至今的发展状况。描述中提到的...
【标题】:“初级测试员学习必备很也是我的笔记总结” 这篇文档集合了初级软件测试员在学习过程中应掌握的关键知识点,结合了我在达内培训期间的学习资料,包含了名牌讲师的精彩PPT内容,旨在帮助初学者系统性地...
总结:这份资料涵盖了中国社会主义初级阶段的基本理论、国家发展战略、改革开放的意义以及青少年在社会发展中的责任等多个方面,强调了立足国情制定政策、坚持党的领导和基本路线的重要性,同时也体现了教育信息化在...
### 标日初级所有句型总结 #### 一、基本句型变化 ...以上总结了标日初级阶段常见的句型结构及其应用场景,对于初学者来说,掌握这些基本句型是非常重要的一步,能够帮助他们在实际交流中更加流畅地表达自己的想法。
在社会主义初级阶段,党的基本路线是指导我国经济社会发展的核心政策。本教学计划总结旨在深入探讨如何有效复习这一重要理论,通过教学反思,提升教学质量。 在设计复习课程时,教师首先让学生自我总结基础知识点和...
总结来说,本课旨在让学生深入了解社会主义初级阶段的国情,理解我国当前面临的主要矛盾和解决策略,以及党的基本路线的重要性和实施方式,培养他们的爱国主义精神和为国家建设做贡献的决心。通过有效的教学方法和...
首先,标题中的“毕生总结”暗示了文档内容可能涵盖了广泛的学习阶段和经验,从初级的基础知识到高级的语言技巧,甚至可能涉及语言学理论、文化背景和实际应用。学习者可能会从中发现如何系统地构建词汇量、掌握语法...
日语初级阶段的学习者常常会接触到一些基础的语法结构和词汇,这些内容对于理解和表达日常对话至关重要。以下是几个关键的日语初级语法点: 1. **いつ** (いつ):用于询问时间,意为“什么时候”。 2. **~から~ま...
以下是一些初级阶段需要掌握的关键语法点: 1. **动词转换** - **简体与敬体**:日语动词分为简体和敬体,简体用于日常对话,敬体则用于正式场合。例如: - 简体:我去(我去)→ 私は行きます (Watashi wa ...
总结起来,SpringBoot 初级阶段的学习主要涵盖了环境配置、项目打包与发布、以及与 Servlet 的整合。这些基础知识将帮助开发者快速入门 SpringBoot,并能够构建简单的 Web 应用程序。随着对 SpringBoot 更深入的理解...
在Java学习的初级阶段,经常会遇到一系列挑战,这些问题涵盖了基础语法、面向对象编程、异常处理、集合框架等关键领域。以下是一些常见的Java初级学习问题及其详细解释: 1. **基础语法** - 变量声明:理解变量的...
该书精心选取了日语初级阶段的常见词汇,旨在帮助学习者掌握日语词汇的核心部分,提高语言沟通能力。 在日语学习的过程中,词汇积累是最基础且关键的一步。《标准日语词汇精选初级》充分考虑了初学者可能遇到的难点...
在这个初级学习阶段,我们将深入理解Intent的基本概念、类型以及如何使用。 一、Intent基础 Intent在Android系统中扮演着“信使”的角色,它能启动新的Activity或Service,或者向BroadcastReceiver发送广播。Intent...
"云计算学习总结.zip"这个压缩包文件显然是为准备腾讯云认证考试的人们设计的,包含了一系列的学习资料,如思维导图、知识点列表清单以及对云计算的学习总结。以下是对这些内容的详细解读: 1. **云计算概念与发展*...
教育心理学在初级中学教师资格证理论考试中占有重要地位,主要涵盖了教育心理学的作用、中学生心理发展、认知发展与教学的关系、人格发展、影响人格发展的因素、学生间认知方式的差异、学习内容的分类、学习理论、...
【数控初级实习总结】 在20××年6月至11月期间,我参与了上海海洋大学组织的数控中级培训,这段经历让我对数控技术有了深入的理解和实践体验。通过几个月的学习,我从一个对数控一无所知的新手,转变为能够独立...