目录
一.类与对象
类:泛指,指出一类对象的特征和行为
对象:特指,依据类产生的一个特定数据,占有内存拥有特有属性和行为
二.什么是面向对象?
面向对象编程思想,从解决问题转而到使用类或设计类。他的基本特征是:封装,继承,多态。
三.封装
(访问修饰符:私有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("认真备课");
}
}