码迷,mamicode.com
首页 > 编程语言 > 详细

学习java随笔第八篇:封装、继承、多态

时间:2014-06-07 22:43:53      阅读:324      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   java   

java和c#一样都是面向对象的语言。

面向对象的语言有三大特征:封装、继承、多态

封装

 封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。

bubuko.com,布布扣
class Person2
{
    private String name;
    public void setName(String name)
    {
            this.name=name;
    }
    public String getName()
    {
        return name;
    }
    
    private String sex;
    public void setSex(String sex)
    {
            this.sex=sex;
    }
    public String getSex()
    {
        return sex;
    }
    
    private int age;
    public void setAge(int age)
    {
            this.age=age;
    }
    public int getAge()
    {
        return age;
    }    
    
    private double height;
    public void setHeight(double height)
    {
        this.height=height;
    }
    public double getHeight()
    {
        return height;
    }    
}

public class Person1 {
    public static void main(String arges[])
    {
        Person2 p2=new Person2();
        p2.setName("小黄");
        p2.setSex("男");
        p2.setAge(20);
        p2.setHeight(1.70);
        System.out.println("姓名:"+p2.getName()+",性别:"+p2.getSex()+",年龄:"+p2.getAge()+",身高:"+p2.getHeight());
    }
}
bubuko.com,布布扣

bubuko.com,布布扣

继承

继承:发生在类与类之间,在已存在的类的基础之上进行继承,通过继承来共享父类的成员和方法,并加入新的方法。可以单继承,也可以多继承。

在Java中,被继承的类叫超类(superclass),继承超类的类叫子类(subclass)。因此,子类是超类的一个功能上的扩展,它继承了超类定义的所有属性和方法,并且添加了特有功能方法。

bubuko.com,布布扣
class Father
{
    public String name;
    public int age;
    public String eye;
    public String height;
    public String cutis;
    //Father类的构造器
    public Father()
    {
        
    }
    
    public Father(String name,int age)
    {
        this.name=name;
        this.age=age;
    }
    //重写Object类中的toString方法
    /*public String toString()
    {
        String emp="姓名:"+name+",年龄:"+age;
        return emp;
    }*/
}

public class son extends Father
{
    public String spectacle_frame;
    public son()
    {
        
    }
    public son(String spectacle_frame)
    {
        this.spectacle_frame=spectacle_frame;
    }
    
    public void getMes()
    {
        System.out.println(spectacle_frame);
    }
    public static void main(String arges[])
    {
        Father f=new Father("Father",50);
        System.out.println(f);
        son s=new son("Blue");
        s.name="Tom";
        s.age=20;
        System.out.println(s);
        s.getMes();
    }
}
bubuko.com,布布扣
注释:重写Object类中的toString方法
bubuko.com,布布扣
取消注释:重写Object类中的toString方法
bubuko.com,布布扣

多态

 多态:接口的多种不同的实现方式即为多态,同一个实体同时具有多种形式。

bubuko.com,布布扣
class fruit
{
    public void getMes()
    {
        System.out.println("父类");
    }
}

class apple extends fruit
{
    public void getMes()
    {
        System.out.println("apple子类");
    }
}

class orange extends fruit
{
    public void getMes()
    {
        System.out.println("orange子类");
    }
}

public class racing_cycel {
    public void show(fruit f)
    {
        f.getMes();
    }
    
    public static void main(String arges[])
    {
        racing_cycel rc=new racing_cycel();
        fruit f=new fruit();
        apple a=new apple();
        orange o=new orange();
        
        rc.show(f);
        rc.show(a);
        rc.show(o);
    }
}
bubuko.com,布布扣

运行结果

bubuko.com,布布扣

学习java随笔第八篇:封装、继承、多态,布布扣,bubuko.com

学习java随笔第八篇:封装、继承、多态

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/langmanshuyuan/p/3774761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!