201711671105 《Java程序设计》第四章学习总结

教材学习内容总结

1.面向过程与面向对象

1.1面向过程:

以Ç语言为例,源程序由若干个书写形式互相独立的函数组成编写代码时不必考虑机器指令细节,其语法更加贴近自然语言,语言的核心为编写解决某个问题的代码块。

1.2面向对象:

易维护,易扩展,易复用。语言核心为对象,一切为对象服务。

特性:

1.2.1封装性:

用共有的属性,方法,定义为一个类,类的具体实例即为对象。对象会把自己的数据和对数据的操作封装在一起,可以确保调用函数时都是作用在自己身上。

1.2.2继承:

子类继承父类的属性与方法,也可以添加自己的属性与方法,如人类继承于哺乳类。

1.2.3多态

操作名称的多态:多个操作具有相同的名字,向操作传入不同的参数,可以产生相应的行为(好像重载啊)

(别看书了,网上资料都说这是重载)

和继承相关的多态:同一操作被不同的类型对象调用产生不同的行为如:猫与狗继承了哺乳类的喊叫操作,调用时狗的行为为“嗷呜”,猫的行为为“喵呜“。

 

2.类

基本格式:

class 类名{
     类体的内容
}

类声明:

class People{//class People 即为类的声明,最好用驼峰命名法来写
           ......
}

成员变量:被声明的变量,在整个类的范围内都有效,与声明位置无关习惯先写变量再写方法。

局部变量:在方法中被定义的变量,只在方法内有效,从声明位置开始生效局部变量必须赋值。

用法:

class Tom{
  int x=10,y;
void f(){
int x=5;
y=x+x;//y=10
}
}
class Tom{
  int x=10,y;
void f(){
int x=5;
y=x+this.x;//y=15
//如果x为静态变量,改用Tom.x
}
}

3.构造方法,创建对象

构造方法:

class Point{
int x,y;
Point(){//如果类里没有构造函数,系统会分配一个默认的构造方法

}

Point(){//方法
x=1;
y=1;
}

//构造函数没有类型,不要加int 和 void 

int Point(){//非法
return 12;
}

创建对象(基础啊这个):

example.java

class xiyouji renwu {
float height,weight;
String head,ear;
void speak(String s) {
System.out.println(s);
}
}

public class example {
public static void main(String args[]) {
XiyoujiRenwu zhubajie;  //对象的声明
zhubajie = new XiyoujiRenwu();  //分配变量
}
}

存储:

对象的名字存储的是对象的引用。

使用:

对象。方法

4.参数传值

高级别可向低级别传值(如double => float),但反过来不行;

一个类的两个对象如果引用相同,则具有完全相同的变量;

可变量参数:

int ... x

 

5.实例成员与类成员

实例变量:在对象被创建时才产生

类变量:在类被创建时就产生,用关键字静态的修饰,为静态变量类共享类变量。

 

6.包

包是Java的的的的的的提供的文件组织方式。一个包对应一个文件夹,一个包中可以包括很多类文件,包中还可以有子包,形成包等级的的的的的的.java把类文件放在不同等级的包中这样一个类文件就会有两个名字一个是类文件的短名字,另外一个是类文件的全限定。名短名字就是类文件本身的名字,全限定名则是在类文件的名字前面加上包的名字

Student.java
package tom.jiafei;
public class Student{
int number;
Student(int n){
number = n;
}
void speak(){
System.out.println("Student类的包名是tom.jiafei,我的学号:"+number);
}
}

Example.java
package tom.jiafei;
public class Example{
public static void main(String args[]){
Student stu = new Student(10201);
stu.speak();
System.out.println("主类的包名也是tom.jiafei");
}
}

7.访问权限

 

 

 

教材学习中的问题与解决过程

重载与多态的知识点不懂

多问学委

 

代码调试中的问题与解决过程

问题:不知道应该引用UTIL具体哪个包

解决:import java.util。*; ......

问题:定义了三个主函数(辣鸡)

解决:改为定义一个主函数,引用其余两个函数

 

 

学习进度条

 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时 
第五周592分之4431/416/38类的用法
第四周149分之961/38/22基本语句的复习
第二周53分之351/26/14

数据类型应用

第一周18/181/18/8日食的使用
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值