Java面向对象

目录

一.类与对象 

二.什么是面向对象?

三.封装

(访问修饰符:私有private)

四.继承

 五.多态


 

一.类与对象 

:泛指,指出一类对象的特征和行为      

对象:特指,依据类产生的一个特定数据,占有内存拥有特有属性和行为   

二.什么是面向对象?

面向对象编程思想,从解决问题转而到使用类或设计类。他的基本特征是:封装,继承,多态

三.封装

(访问修饰符:私有private)

提供代码复用性,归纳总结行为和属性的方式(保证类特性)达到批量操作不同数据和方法的效果

/**
 * 描述人。Person
 * 属性:年龄。
 * 行为:说话:说出自己的年龄
 */
public class Person
{
    int age ;// 年龄
    String name;// 姓名

    public void show()// 展示
    {
        System.out.println("age="+age+",name"+name);
    }
}

class PersonDemo
{
    public static void main(String[] args)
    {
        //创建Person对象
        Person p = new Person();
        p.age = -20;  // 给Person对象赋值
        p.name = "人妖";
        p.show(); //调用Person的show方法
    }
}

四.继承

1.引入:发现多个事物之间发现有共同的属性行为。那么代码复用性很差

可以将==相同的代码==进行抽取,抽取出来后放在单独的类中。提高了代码的复用性。

2.继承需要用到关键字extends。  

//将学生和工人的共性抽取到Person这个类中
class Person {
	String name;
	int age;
}
//学生通过extends继承Person,即Person为Student的父类
class Student extends Person{
	//学生类中的自己特有方法
	public void study(){
		System.out.println(name+"同学正在学习。。。。");
	}
}
//工人通过extends继承Person,即Person为工人的父类
class Worker extends Person{
	//工人类中的自己特有方法
	public void work(){
		System.out.println(name+"工人正在工作。。。。");
	}
}
//测试类
public  class Test{
	public static void main(String[] args) {
		Student s = new Student();
		s.name = "小明";
		s.study();
		
		Worker w = new Worker();
		w.name = "张三";
		w.work();
	}
}

3.注:Java语言里类和类产生垂直关系,简单说一个类可以使用另一个类的属性和方法。extends来继承。java不支持多继承但是允许多重继承。 

 五.多态

一个事物拥有不同形态。



public class demo {
    public static void main(String[] args) {
        People p=new Stu();
        p.eat();
        //调用特有的方法
        Stu s=(Stu)p;
        s.study();
        //((Stu) p).study();
    }
}
class People{
    public void eat(){
        System.out.println("吃饭");
    }
}
class Stu extends People{
    @Override
    public void eat(){
        System.out.println("吃辣条");
    }
    public void study(){
        System.out.println("好好听讲");
    }
}
class Teachers extends People{
    @Override
    public void eat(){
        System.out.println("吃水果");
    }
    public void teach(){
        System.out.println("认真备课");
    }
}

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值