面向对象(上)

打印 上一主题 下一主题

主题 880|帖子 880|积分 2640

面向对象(上)
  1.    java面向对象学习三条主线
  2. * 1.java类及类的成员:属性、方法、构造器、代码块、内部类
  3. * 2.面向对象的三大特征:封装,继承,多态
  4. * 3.其他关键字:this,super,static,final,abstract,interface,package,import等
  5.      
复制代码
面向对象的三大特征


  • 封装
  • 继承
  • 多态
面向对象的思想概述


  • 类和对象是面向对象的核心概念
    类是对一类事物的描述,是抽象的,概念上的定义
    对象是实际存在的该类事物的每个个体,因此称为实例(instance)
    在java中万事万物皆对象

属性和方法

属性: 对应类中的成员变量

方法:对应类中的成员方法
  1. package com.zx.oop;
  2. /*
  3. * 类和对象的使用
  4. * 1.创建类,设计类成员
  5. * 2.创建类的对象
  6. * 3.通过对象.属性或对象.方法调用
  7. */
  8. public class PersonTest {
  9.         public static void main(String[] args) {
  10.                 //创建Person类的对象
  11.                 Person pe=new Person();
  12.                
  13.                 //调用对象的属性和方法
  14.         
  15.                 //对象.属性
  16.                 pe.name="Jack";
  17.                 pe.isMale=true;
  18.                 System.out.println(pe.name);
  19.                
  20.                 //对象.方法
  21.                 pe.eat();
  22.                 pe.sleep();
  23.                 pe.spke("中国话");
  24.         }
  25.    
  26. }
  27. class Person{
  28.        
  29.         //属性
  30.         String name;
  31.         int age = 1;
  32.         boolean isMale;
  33.        
  34.         //方法
  35.         public void eat() {
  36.                 System.out.println("人可以吃饭");
  37.         }
  38.        
  39.         public void sleep() {
  40.                 System.out.println("人可以睡觉");
  41.         }
  42.        
  43.         public void spke(String language) {
  44.                 System.out.println("人可以说话,讲的话是"+language);
  45.         }
  46.        
  47. }
复制代码
  1. 运行结果:
  2. Jack
  3. 人可以吃饭
  4. 人可以睡觉
  5. 人可以说话,讲的话是中国话
复制代码
类的多个对象之间的关系
  1.   在上面代码基础的pe.spke("中国话");的后面加上下面代码
  2.      
  3.         //重新new一个对象
  4.         Person pe2=new Person();
  5.         System.out.println(pe2.name);//默认值为null
  6.         System.out.println(pe2.isMale);//默认值为false
  7.         
  8.         //pe的对象地址赋值给pe3,所以指向的是堆里面的同一个实体
  9.         Person pe3=pe;
  10.         System.out.println(pe3.name);
  11.         pe3.age=99;
  12.         System.out.println(pe.age);//所以pe.age也是99
复制代码
类中的属性(成员变量)和局部变量

属性(成员变量)和局部变量
<ol>相同点:

  • 定义变量的格式是一样的
  • 先声明,后使用
  • 变量都有其作用域
不同点:

  • 成员变量: 在类体内定义的变量称为成员变量,它的作用域是整个类也就是说在这个类中都可以访问到定义的这个成员变量
  • 局部变量:声明在方法内,方法形参,代码块内,构造器形参,构造器内部的变量
  1. 成员变量:在声明属性时,指明其权限,使用权限修饰符
  2. 局部变量:不可以使用权限修饰符
复制代码
类的属性根据其类型都有自己的默认初始化值
  1. 成员变量:
  2.        整型(byte,short,int,long) 0
  3.        浮点型(float,double) 0.0
  4.        字符型(char) 0或'\u0000'
  5.        布尔型(boolean) false
  6.        引用数据类型:null
  7. 局部变量:
  8.        必须在声明的时候初始化值,不然会编译报错,形式参数需要调用的时候才赋值,所以形参没有编译错误
复制代码
内存中加载的位置
  1. 成员变量:加载到堆空间中(非static)
  2. 局部变量:加载到栈空间中
复制代码
  1. public class Demo10 {
  2.     //成员变量
  3.     static int num=100;
  4.     public static void main(String[] args) {
  5.         System.out.println(num);
  6.         add();
  7.     }
  8.     //成员方法
  9.     public static void add(){
  10.         System.out.println("今天赚了"+num);
  11.     }
  12. }
复制代码
[code]public class Demo10 {    public static void main(String[] args) {        int i,j;//main方法里面定义的局部变量        for (i=1;i
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万有斥力

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表