目录
封装
package java1;
import java2.Student;//导入需要的包
public class Application {
public static void main(String[] args){
Student s1=new Student();
s1.setName("秦疆");
System.out.println(s1.getName());
}
}
package java2;
//类 private:私有
public class Student{
//属性私有
private String name;//名字
private int id;//学号
private char sex;//性别
//提供一些可以操作这个属性的方法
//提供一些public的get、set方法
//get 获得这个数据
public String getName(){
return this.name;
}
//set 给这个数据设置值
public void setName(String name){
this.name=name;
}
}
封装的意义
1.提高程序的安全性,保护数据
2.隐藏代码的实现细节
3.统一接口
4.系统可维护增加了
继承
package java1;
//继承
public class A extends B{
public static void test(){
System.out.println("A=>test()");
}
}
执行
注意:如果三者不在一个包中需要导包
package java1;
//在同一个包中就不用导入了import...
public class Application{
public static void main(String[] args){
Student student=new Student();
Teacher tt=new Teacher();
tt.test1();
}
}
父类
package java1;
//在Java中,所有的类,都默认直接或者间接继承object
//Person 人 :父类
//Ctrl+h快捷将查看子类和父类
//public
//protected
//default
//private
public class Person extends Object{
protected String name="kuangshen";
//私有的东西无法被继承
public void print(){
System.out.println("Person");
}
}
子类
如果调用父类构造器super要放在子类的第一行
package java1;
public class Teacher extends Person {
private String name="qinjiang";
public void print(){
System.out.println("Student");
}
public void test1(){
print();
this.print();
super.print();
}
}
super();隐藏代码:调用了父类的无参构造
super("name");父类的有参构造
方法重写
package java1;
//在同一个包中就不用导入了import...
public class Application{
public static void main(String[] args){
A a=new A();
a.test();
//父类的引用指向了子类
B b=new A();
b.test();//B
}
}
package java1;
//继承
public class A extends B{
public static void test(){
System.out.println("A=>test()");
}
}
package java1;
//重写都是方法的重写,和属性无关
public class B {
public static void test(){
System.out.println("B=>test()");
}
}
多态
如何修改idea默认存储位置
在这个地方连续修改两次即可