1.5—1.8java学习周记

第二周感悟

由于备战期末考试,闭组三周,对Java的学习进度造成了一定的影响,当自己再次接触时,发现之前学的东西基本上忘记的差不多了,同时感受到需要不断对学习过的知识进行回顾强化才行,本周学习的类与对象,成员变量,方法,继承等内容,学起来也是有一定的难度。尽管说从一定程度上类与对象与C语言中的结构体比较相似,但是还是有所不同。

疑难问题总结

类与对象的理解

类是对具有属性与行为的事物的抽象化。比如:手机这个类,它的属性有:品牌、价格、尺寸等,它的行为也就是它能执行的操作有:打电话,玩游戏等。

类是对事物的一种描述,对象则是具体存在的事物。

在类中属性通过成员变量(变量)来体现,行为通过成员方法(函数)来体现。

public class Student {
    //成员变量
    String name;
    int age;
    //成员方法
    public void study() {
        System.out.println("好好学习,天天向上");
    }
    public void doHomework() {
        System.out.println("键盘敲烂,月薪过万");
    }
}
public class StudentDemo {
    public static void main(String[] args) {
        //创建对象
        Student s = new Student();
        //使用对象
        System.out.println(s.name + "," + s.age);
        s.name = "李华";
        s.age = 30;
        System.out.println(s.name + "," + s.age);
        //调用方法
        s.study();
        s.doHomework();
    }
}

this关键字

用于区分局部变量和成员变量重名的问题

方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,带this修饰的变量指的是成员变量
方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量

继承

子类不能继承父类的构造方法。子类可以继承父类的私有成员(成员变量,方法),只是子类无法直接访问而已,可以通过getter/setter方法访问父类的private成员变量。

子父类中出现了同名的成员变量时,子类会优先访问自己对象中的成员变量。

使用super关键字解决问题。但是应注意:super代表的是父类对象的引用,this代表的是当前对象的引用。

class Fu {
	// Fu中的成员变量
	int num = 5;
}
class Zi extends Fu {
	// Zi中的成员变量
	int num = 6; 
	public void show() {
        int num = 1;
        // 访问方法中的num
        System.out.println("method num=" + num);
        // 访问子类中的num
        System.out.println("Zi num=" + this.num);
        // 访问父类中的num
        System.out.println("Fu num=" + super.num);
	}
}

super和this

  • 子类的每个构造方法中均有默认的super(),调用父类的空参构造。手动调用父类构造会覆盖默认的super()。
  • super() 和 this() 都必须是在构造方法的第一行,所以不能同时出现。
  • super(…)和this(…)是根据参数去确定调用父类哪个构造方法的。

下周目标

  • 抽象类,接口
  • 基本API学习
  • java笔记

总结一下子,必须要及时复习相关知识,建立起知识网络,将知识连接起来,否则真的是学了这个忘那个。希望自己能利用好假期这段时间吧!

你可能感兴趣的:(Java周记,java,学习,开发语言)