博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Chapter9 Java面向对象
阅读量:6803 次
发布时间:2019-06-26

本文共 2250 字,大约阅读时间需要 7 分钟。

Lecture1 初始面向对象

  • 面向对象:关注现实存在的事物的各方面信息,从对象的角度出发,根据事物的特征进行程序设计
  • 类:类是模子,是一个抽象的概念,确定对象将会拥有的特征(属性)和行为(方法),是具有相同属性和方法的一组对象的集合
  • 对象:对象是类的实例化表现,是一个用来描述客观事物的实体
  • 类是对象的类型,对象是特定类型的数据
  • 属性和方法:属性--对象具有的各种静态特征;方法--对象具有的各种动态行为
  • 包的推荐命名规则:

    • 均使用小写英文字母
    • 采用域名的倒序

Tips:类中的成员属性默认有初始值

  • 成员属性的默认值
基本类型 默认值
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0
char 'u0000'
boolean false
引用类型 null
  • 单一职责原则:又叫单一功能原则;一个类应该有且只有一个引起功能变化的原因;如果一个类所承载的功能越多,它的交融耦合性就越高,可复用性就越低
  • 实例化对象的过程可以分成两个部分:

    1. 声明对象(发生在栈空间,在栈中开辟空间,储存的是实例化对象的堆空间的内存地址)
    2. 实例化对象(发生在堆空间,完成对象的初始化操作)

Lecture2 构造方法介绍

  • 构造方法:又称为构造方法,构造器
  • 构造方法结构:

    1. 构造方法名与类名相同且没有返回值
    2. 构造方法的语法格式:
    public 构造方法名(参数列表){  初始代码块;}
    1. 构造方法只能在对象实例化的过程中调用
    2. 当没有指定构造方法时,系统会自动添加无参的构造方法
    3. 当存在指定的构造方法时,无论是有参还是无参的构造方法,系统都不会再自动添加无参的构造方法
    4. 一个类中可以有多个构造方法
  • 就近原则:优先寻找同一个作用范围内的同名元素
  • this关键字:代表当前对象的默认引用
  • this关键字的使用:

    1. 调用成员属性,解决成员属性和局部变量的同名冲突
    2. 调用同一个类中的其他成员方法
    3. 调用重载的构造方法,构造方法在类内不能直接被普通成员方法调用,但可以使用this(参数列表);调用构造方法,this(参数列表);必须放在方法体内的第一行

vio

  • chapter9 面向对象案例:
package Chapter9.Lecture1.cat;/** * 宠物猫类 */public class Cat {    //成员属性:昵称、年龄、体重、品种    String name;    //昵称,String类型默认值为null    int month;  //年龄,int类型默认值为0    double weight;  //体重,double类型默认值为0.0    String species; //品种    //无参构造方法    public Cat() {        System.out.println("我是无参构造方法");    }    //带参构造方法    public Cat(String name, int month, double weight, String species) {        this.name = name;        this.month = month;        this.weight = weight;        this.species = species;    }    //成员行为:跑动、吃东西    //跑动的方法    public void run() {        System.out.println("小猫快跑");    }    public void run(String name) {        System.out.println(name + "快跑");    }    //吃东西的方法    public void eat() {        System.out.println("小猫吃鱼");    }}
package Chapter9.Lecture1.cat;public class CatTest {    public static void main(String[] args) {        //对象实例化        Cat one = new Cat();        //测试        one.eat();        one.run();        System.out.println("==================");        one.name = "花花";        one.month = 2;        one.weight = 1000;        one.species = "英国短毛猫";        System.out.println("昵称:" + one.name);        System.out.println("年龄:" + one.month);        System.out.println("体重:" + one.weight);        System.out.println("品种:" + one.species);        System.out.println("==================");        one.run(one.name);    }}

转载地址:http://vfnwl.baihongyu.com/

你可能感兴趣的文章
zabbix邮件报警设置
查看>>
win10远程桌面连接错误
查看>>
RH134 UNIT5
查看>>
解析linux根文件系统的目录树
查看>>
onTouchEvent事件中调用onFling方法
查看>>
我的友情链接
查看>>
linux shell
查看>>
Windows Server入门系列35 了解NTFS安全权限
查看>>
序列判断
查看>>
【C语言】【笔试题】实现一个函数int my_atoi(char s[]),可以将一个字符串转换为对应的整数。...
查看>>
php常用自定义函数
查看>>
150809112 杨磊
查看>>
如何取消开机按ctrl+alt+delete组合键
查看>>
Linux操作系统的主要用途是什么
查看>>
jmeter之使用fidder抓包之后进行接口测试
查看>>
进程调度模拟程序
查看>>
Linux自建简易版DNS主从服务器
查看>>
linux 7.2 安装openstack 过程出现rabbitmq-server 错误解决方法
查看>>
PHP CI框架学习笔记-分页实现程序
查看>>
提升不止一点点,Dubbo 3.0 预览版详细解读,还愣着干啥啊?进来啊
查看>>