(一)类与对象的关系B站 狂神说JAVA P60~P66
类是一种抽象的数据类型,它对某一类事务整体描述/定义,但是不能代表一个具体的事物。对象就是抽象概念的具体事例。
使用new 关键字来创建对象。
1.一般来说,一个项目应该只存在一个main方法,其他的类里最好不要有main方法.
2.一个类中没有其他的东西,只有属性和方法。
主类:
public class Application {
public static void main(String[] args) {
Student stu = new Student(); //主类中通过new关键字创建一个新的对象
stu.printname();
}
}
方法类:
public class Student {
String name; //类中定义属性
int age;
public void printname(){ //类中定义方法
System.out.println("Student name function is using.");
}
}
(二)封装
程序设计要遵循 “高内聚,低耦合” 的原则——
高内聚是指内部数据的操作细节自己完成,不允许外界干涉;
低耦合是指,仅暴露少量的方法给外部使用。
封装(数据的隐藏)
通常来说应该直接禁止直接访问一个对象中数据的实际表示,而应该通过操作接口来访问,这乘坐信息隐藏。
总而言之,属性是私有的。
get / set
(封装一般来说是针对属性的。)
public class Student {
public static void main(String[] args) {
Stu s1 = new Stu();
//获得Name属性
System.out.println(s1.getName());
}
}
public class Stu{
private String name; //私有姓名
private int id; //学号
private char sex; //性别
//私有的属性是没法通过.来点出来的
//也即属性无法在外界直接获得,而是通过方法来转出去
public String getName(){
return this.name;
}//转出name值,提供一个公共的方法给出类中私有的值
(三)继承
继承的本质是对某一批类的抽象,从而实现对世界更好的建模。
extends的意思是“扩展”, 子类是父类的扩展。
JAVA中只有单继承,没有多继承!
继承是一种类和类之间的关系。
1.子类可以调用父类的方法父类
public class Person { //父类
public void say() //父类方法
{
System.out.println("你爹说话呢。");
}
}
子类
public class Man extends Person{ //男人也是人,男人的类继承Person
}
主类
public class Application {
public static void main(String[] args) {
Man m1 = new Man();//创建一个子类对象
m1.say();//使用父类的方法输出
}
}
输出结果:
但如果父类的方法或者属性是私有的,子类也不能获得。
“你爹的钱你不能直接获得,但可以通过一些方法获得。”
一个快捷键:ctrl+H
可以显示继承结构。
3.在JAVA中,所有的类都是默认继承object类的它是java.lang包下的。
(四)super关键字super 代表父类,this代表当前类
public class Man extends Person{ //男人也是人,男人的类继承Person
private String name ="父类的Name属性";
public void test(String name){
System.out.println(name); //主类中传参过来的属性
System.out.println(this.name); //子类属性
System.out.println(super.name); //父类属性
}
}



