封装
public class Demo_7 {
public static void main(String []args)
{
Stu1 stu1=new Stu1();
stu1.get_age(6);
}
}
class Stu{
//对属性的封装,一个学生的名字和学号都是这个学生的私有属性
private String name;
private int id_num;
private int idcard;
//对该人对外界提供方法的封装,可以设定这个学生的信息,也可以获得该学生的信息
//方法封装
public void set_name(String name){
this.name=name;
}
public void set_idnum(int id_num){
this.id_num=id_num;
}
public void set_idcard(int idcard){
this.idcard=idcard;
}
public String get_name(){
return name;
}
public int get_id_num(){
return id_num;
}
//注意,在此类中并没有提供get学生idcard的方法,因此可以从外界将学生的idcard录入,
//但是外界却不能访问到学生的idcard。
}
//很好的体现了封装的好处
class Stu1{
public void get_age(int a)
{
//此时就不用没创建一个对象都要写一次打印了
System.out.println("学生的年龄是"+a);
}
}
继承
public class Demo_8 {
public static void main(String []args)
{
Box1 v1=new Box1(1,2,3);
int v=v1.box_v();
int s=v1.box_s();//使用继承利用子类去访问父类中的方法
System.out.println("盒子的面积是"+s);
System.out.println("盒子的体积是"+v);
}
}
//定义一个箱子类
class Box{
int s;
int width=0;//箱子的宽
int length=0;//箱子的长
//初始箱子的长和宽
Box(int width,int length)
{
width=width;
length=length;
}
Box()
{
width=0;
length=0;
}
int box_s(){
s=width*length;
return s;
}
}
class Box1 extends Box{
int heigth;
//继承了父类的长和宽
Box1(int len,int wid,int hei){
length=len;
width=wid;
heigth=hei;
}
int box_v(){
return length*width*heigth;
}
}
多态
public class Demo_10 {
public static void main(String[] args) {
Pupil p1=new Pupil("张明",10520);
Middle p2=new Middle("李浩",15);
College p3=new College("周璐",20136585);
Stu pa=new Stu(p1);
Stu pb=new Stu(p2);
Stu pc=new Stu(p3);
p1.show();
pa.show1();
p2.show();
pb.show1();
p3.show();
pc.show1();
}
}
class Student{
String name;
int id_num;
public void show()
{
System.out.println("我是一个学生");
}
}
class Pupil extends Student{
Pupil(String name,int id_num){
this.name=name;
this.id_num=id_num;
}
public void show(){
System.out.println("我是一个小学生");
}
}
class Middle extends Student{
Middle(String name,int id_num){
this.name=name;
this.id_num=id_num;
}
public void show(){
System.out.println("我是一个中学生");
}
}
class College extends Student{
College(String name,int id_num){
this.name=name;
this.id_num=id_num;
}
public void show(){
System.out.println("我是一个大学生");
}
}
class Stu{
Student stu;
Stu(Student s)
{
stu=s;
}
public void show1(){
System.out.println("我的名字是"+stu.name);
System.out.println("我的学号是"+stu.id_num);
}
}
运行结果是:
我是一个小学生
我的名字是张明
我的学号是10520
我是一个中学生
我的名字是李浩
我的学号是15
我是一个大学生
我的名字是周璐
我的学号是20136585