发表于: 2018-01-17 18:09:04

1 566


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin) 

 //静态变量
/* 用法:是一个修饰符,用于修饰成员(成员变量,成员函数)
* 当成员被静态修饰后除了被对象调用还可以被类名调用。
* 静态方法不能定义this,super关键字,因为静态优先于对象的存在
* 静态只能访问静态*/

主函数是一个特殊函数,可以被JVM调用,作为程序入口

public代表该函数访问权限存在

static代表主函数随着类的加载就存在了

void代表没有具体的返回值

main不是关键字,是一个特殊的单词,可以被JVM识别

(String[] arr)函数的参数,参数的类型是一个数组,该数组中的元素是字符串,字符串类型的数组。

主函数的固定格式的:JVM识别。

什么时候使用静态

因为静态修饰的是成员变量和成员函数

什么时候定义静态变量(类变量)呢?

当对象中有共享数据时,该数据被静态所修饰。

对象中特有数据要定义成非静态变量存在于堆内存中。


什么时候定义静态函数呢?

当功能内部没有访问到非静态数据(对象的特有数据)

那么该功能就可以定义成静态的。

继承:1提高代码复用性

    2让类与类之间产生关系。有了这个关系,才有了多态的特点

注意:不能为了获得其他类的功能,简化代码而继承。必须是类与类之间有所属关系才可以继承。所属关系 is a


当子类出现和父类一模一样的方法时,当子类对象调用该方法时,会运行子类方法。复写。

在对子类对象进行初始化时,父类的构造函数也会运行

那是因为子类的构造函数默认第一行隐式的语句super()

super()会访问父类中孔参数函数,而且子类中所有的构造函数默认第一行都是super()

为什么子类一定要访问父类中构造函数

因为父类中的数据子类能直接获取,所以子类对象建立时,需要先查看父类是如何对这些数据进行初始化的

所以子类在对象初始化时,要先访问以下父类中的构造函数

如果要访问父类中指定构造函数,可以手动指定。


final关键字

1可以修饰类,方法,变量

2被final修饰的类不能被继承,修饰的方法不能被重写,被修饰的变量是常量,只能被赋值一次。

 

抽象类特点:1抽象方法一定在抽象类中。

2抽象方法和抽象类都必须被abstract关键字修饰

3抽象类不可以被实例化,抽象类中的方法必须被子类复写后,创建子类对象调用,必须全部覆盖抽象类方法。


interface接口

格式特点:1定义常量 抽象类

接口必须被实现后,才能实例化


明天计划的事情:(一定要写非常细致的内容) 

继续复习多态

遇到的问题:(遇到什么困难,怎么解决的) 

复习继承时,子类继承父类构造器时,子类中没写父类总共set方法,导致get不到用构造器传入的数据,后来自己摸索加了set方法就能get到数据了

//Students类

public class Students extends Proson  {

private int id;

public Students() {
}

public Students(String name, int age, int id) {
super.setName(name);
super.setAge(age);
this.id = id;
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;

}

//Prosen类

public class Proson {
private String name;
private int age;

public Proson() {
}

public Proson(String name, int age) {
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
public void show(){
System.out.println(this.name+this.age);
}

//主方法

public class Main {
public static void main(String[] args) {
Students students=new Students("aaa",2,114);
students.setAge(4);
students.show();

}

}

收获:(通过今天的学习,学到了什么知识)

static关键字用法

继承的特点和用法


返回列表 返回列表
评论

    分享到