java类与对象

java类与对象

1.介绍
1.什么是类
  类是对一类事物的抽象描述 如颜色 大小 姓名 个数;
2. 什么是对象
  对象是一个类中准确的的目标:例如 一个红色的苹果,一个姓名为安安身高162cm的男孩
3.对类的描述(属性 和 行为)
属性(成员变量):属性一般都使用 名词来修饰
行为(成员方法):行为一般用动词来修饰
2.书写与创建
1.如何写一个类(使用class修饰),类里面都有什么?
//动物类 姓名 年龄 性别 会介绍自己
//如果在类中声明成员变量 没有给初值 那么有初值吗?
class  Animal{
    //成员变量的作用域 在整个类中都可以访问到
    String name = "旺财"; // 姓名
    int age = 2;//年龄
    String gender = "公";//性别

    //成员方法
    public void sayHi() {
        System.out.println("姓名:" + name);
        System.out.println("年龄:" + age);
        System.out.println("性别:" + gender);
    }
//  睡觉
    public void sleep() {
        System.out.println(name + "在睡觉");
    }
//  吃饭
    public void eat() {
        System.out.println(name + "在吃");
    }
}
   在以上代码中可发现
   类里面有成员变量,成员方法
 * 成员变量(实例变量)写在类中 方法外
 * 成员方法(实例方法)写在类中
 2.如何创建一个对象
 2.1类名 对象名 = 初值(new 类名());
 2.2对象创建在堆内存(堆内存有默认的初始值)


    public static void main(String[] args) {
//      创建一个对象
        Animal dog = new Animal();
//      如何访问成员变量? 对象点成员变量
//      给成员变量赋值
        dog.name = "来福";
//      如果成员变量在等号前面 叫赋值
//      如果成员变量在等号后面 叫获取
        String ss = dog.name;
//      调用成员方法 对象点方法
        dog.sayHi();
        dog.eat();
    }
}
3.成员变量和局部变量的区别
    public void sayHi(int i/*局部变量*/) {
        int num;//局部变量
//      声明的位置:方法中 或者 方法声明上(参数位置);
        System.out.println("我是" + name);
        System.out.println("我会" + name);
    }
    1.书写位置
    成员变量:类中 方法外
    局部变量:方法中 方法声明上
    2.内存中的位置
    成员变量:堆
    局部变量:栈
    3.初值
    成员变量:有默认值
    局部变量:没有默认值 如果要使用的话必须要给初值
    4.声明周期
    成员变量:随着对象的创建而创建随着对象的销毁而销毁
    局部变量:随着方法存在
4.匿名对象
 1.介绍: 没有名字的对象
 1.如果你只调用方法的话 这是可以使用匿名对象(测试的时候会用)
 2.匿名对象可以当参数进行传递
 3.好处:当参数时 代码简单
 弊端:无法直接修改里面的值
4.1简单的代码解析:
public class Demo03 {
 public static void main(String[] args) {
   new Person().sayHi();//没有名字

 }
}
class Person{
    成员变量
    String name = "wjn";
    int age = 16;
    成员方法
   public void sayHi(){
        System.out.println(name + "是" + age);
    }

}
5.面向对象的特征
 面向对象的特征
 1.继承
 3.封装
 2.多态
  封装:将类中的属性或者方法对外界藏 然后开发公共的访问方式
  成员变量私有化是封装的一种体现
   private 私有(权限修饰符)
   private 私有(权限修饰符)
   java bean实体规范
  1.成员变量私有化(并且提供set/get方法)
5.1代码解析
public class Demo04 {

    public static void main(String[] args) {
        Student student = new Student();
        student .setName("回事");
        student.setAge(21);
        System.out.println(student.getAge());
        student.sayHi();
    }

}
class Student{
//  成员变量私有化(只能在本类中使用 本类以为不能使用)
//  不能通过对象点直接访问 但是可以通过方法间接访问

    private   String name;
    private int age;
//  get/set 方法
//  命名规范 以set或者 get 开头 小驼峰
    //  获取
    public String fun() {
        return name;
    }
//  修改
public void setName(String name) {
//  关键词 this 代表本类的对象
//  那个对象调用这个方法 这个对象就是this
    this.name = name;
    this.sayHi();
}
//获取age
public int getAge() {
    return this.age;
}
public void setAge(int age) {
    this.age = age;
}
//就进原则(这里会打印局部变量)
    public void sayHi() {
//      String name = "ss";
        System.out.println(name + " 是" + this.age );
    }   
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值