黑马程序员----面向对象
来源:互联网 发布:北京久其软件 编辑:程序博客网 时间:2024/06/05 08:04
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
在Java的开发过程,其实就是不断的创建对象,使用对象,指挥对象做事情。设计的过程,其实就是在管理和维护对象之间的关系。
面向对象的三个特征:1、封装;2、继承;3、多态
一、类与对象
类是具有同一属性的对象的集合,是抽象的,不具体的。比如说狗,猫,猪。它们都是动物,我们就可以将他们归为动物类。而具体的实例,一只猫、一只狗就是动物类中的一个对象。类里有成员变量、成员函数、静态变量、静态函数、构造函数。例如:
class Person{//成员变量String name;//成员变量int age;//静态变量static float sal;//静态方法public static void speak(){System.out.println("我会说话");}//成员方法public void playBall(){System.out.println("我会打球");}//构造函数public Person(String name,int age){this.name=name;this.age=age;}}
二、封装
封装是面向对象的一个特征,它主要表现是隐藏对象的属性和实现细节,仅对外提供公共访问方式。例如:
class Person2{int age;//对外提供访问的方法public int getAge() {return age;} //对外提供修改age的方法public void setAge(int age) {this.age = age;} public static void speak(){System.out.println("我会说话");}public void playBall(){System.out.println("我会打球");}//构造函数public Person2(int age){this.age=age;}}public class Oo2 {public static void main(String[] args) {Person2 p=new Person2(10);//创建一个成员变量age=10的对象p.setAge(20);//利用封装提供的方法修改成员变量agep.speak();}}
三、继承
继承是子类复制了父类所有的数据属性和方法(private修饰的方法除外),在此基础之上再进行增删改查自己的属性和方法。例如:
class Person3{//父类的睡觉的方法public void sleep(){System.out.println("我会睡觉");}}class Student extends Person3{//子类的学习的方法public void study(){System.out.println("我会学习");}}public class Oo3 {public static void main(String[] args) {Student s=new Student();//新建一个子类对象s.sleep();//继承了父类 睡觉的方法s.study();//Sdudent自己的 学习的方法}}
四、多态
多态是指父类的引用指向了自己子类的对象,父类中有方法被子类重写。例如:
class Animal{public void speak(){System.out.println("我会叫");}}class Cat extends Animal{public void speak(){System.out.println("我会喵喵叫");}public void catchMouse(){System.out.println("我会抓老鼠");}}public class Oo4 { public static void main(String []args) { Animal a=new Cat();//将父类Animal的引用指向子类Cat a.speak();//打印出的是:我会喵喵叫 //注意 a 是父类Animal,不会子类Cat的抓老鼠的方法 }}
0 0
- 黑马程序员 面向对象
- 黑马程序员---面向对象
- 黑马程序员-面向对象
- 黑马程序员-面向对象
- 黑马程序员-面向对象
- 黑马程序员--面向对象
- 黑马程序员-面向对象
- 黑马程序员--面向对象
- 黑马程序员--面向对象
- 黑马程序员-面向对象
- 黑马程序员--面向对象
- 黑马程序员-面向对象
- 黑马程序员-----面向对象
- 黑马程序员 面向对象
- 黑马程序员---面向对象
- 黑马程序员--面向对象
- 黑马程序员---面向对象
- 黑马程序员-面向对象
- css兼容问题总结
- 华为OJ(四则运算)
- poj2388 排序
- B\S备忘录26——windows下的mysql cluster搭建
- POJ 1061 青蛙的约会
- 黑马程序员----面向对象
- Matlab中函数句柄@的作用及介绍
- 获取Android数据存放路径
- java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
- LeetCode(4)Median of Two Sorted Arrays
- poj2299 查找逆序数 归并
- delegate
- NBUT 1452 Ezreal
- Codeforces Round #276 (Div. 1) B. Maximum Value(哈兮)