面向对象的简单知识

类和对象

简单介绍

类:是对象共同特征的描述。
对象:是真实存在的具体东西。
在Java中,必须先设计类,才能获得对象。

如何定义类

public class 类名{
1.成员变量(代表属性,一般为名词)
2.成员方法(代表行为,一般是动词)
3.构造器
4.代码块
5.内部类
}
public class Phone{
//属性(成员变量)
   String brand;
   double price;
   //行为(方法)
   public void call(){
   }
   public void playGame(){
   }
}

如何得到类的对象

类名 对象名 =new 类名();

案例

Phone p=new Phone();

public class Phone{
   //属性
   String brand;
   double price;
   //行为
   public void call(){
   System.out.println("手机在打电话");
   }
   public void playGame(){
    System.out.println("手机在玩游戏");
    }
    }
   public static void main(String[] args){
   //创建手机的对象
   Phone p=new Phone();
   p.brand="vivo";
   p.price=2155.55;
   //获取手机对象中的值
    System.out.println(p.brand);
    System.out.println(p.price);
    //调用手机中的方法
    p.call();
    p.playGame();
}
   }
   
   

注意事项

定义类的补充注意事项

·用来描述一类事物的类,专业叫做:JavaBean类。
在JavaBean类中,是不写main方法的。
·以前编写main方法的类,叫做测试类。
我们可以在测试类中创建JavaBean类的对象并进行赋值调用。

public class 类名{
1.成员变量(代表属性)
2.成员方法(代表行为)
}

public class Student{
//属性(成员变量)
   String name;
   double height;
   //行为(方法)
   public void study(){
   }
   public void sleep(){
   }
   }

·类名首字母建议大写,需见名知意,驼峰模式。
·一个Java文件中可以定义多个class类,且只能有一个类是public修饰,而且public修饰的类名必须成为代码文件名。(实际开发中建议还是一个文件定义一个class类)
·成员变量的完整定义格式是:修饰符 数据类型 变量名称=初始化值; 一般无需指定初始化,存在默认值。

对象的成员变量的默认规则

在这里插入图片描述

封装

面向对象的三大特征之一。

封装

对象代表什么,就要封装对应的数据,并提供数据对应的行为

例如:
人画圆:属于圆类。

public class Circle{
   double radius;
   public void draw(){
   System.out.println("根据半径"+radius+"画一个圆");
   }
   }

封装的好处

·对象代表什么,就得封装对应的数据,并提供数据对应的行为。
·降低我们的学习成本,可以少学,少记。

private关键字

·是一个权限修饰符
·可以修饰成员(成员变量和成员方法)
·被private修饰的成员只能在本类中才能访问

public class GirlFriend{
    private int age;
   //set (赋值)
public void setAge(int a){
    if(a>=18&&a<=50){
    age=a;
    }else{
    System.out.println("非法数据");
    }
    }
    //获取
    public int getAge(){
    return age;
    }
    }

this关键字

public class GirlFriend{
  private String name;
  private int age;
  p

成员变量和局部变量

就近原则

谁离我近,我就用谁。

public class GirlFriend{
   private int age;//成员变量
   public void method(){
   int age=10;//局部变量
   System.out.println(age);
   }
   }

故此输出的就是局部变量的age。
若成员变量和局部变量重名,想输出成员变量的age应在前加上"this."。

构造方法

作用:在创建对象的时候给成员变量赋值。

构造方法的格式

public class Student{
修饰符 类名(参数){
//参数可有可无
方法体;
}
}

特点:
·方法名与类名相同,大小写也要一致
·没有返回值类型,连void都没有
·没有具体的返回值(不能由return带回结果数据)

执行时机:
·创建对象的时候由虚拟机调用,不能手动调用构造方法
·没创建一次对象,就会调用一次构造方法

构造方法的注意事项

1.构造方法的定义

·如果没有定义构造方法,系统将会给出一个默认的无参构造方法
·如果定义了构造方法,系统将不再提供默认的构造方法

2.构造方法的重载

·带参构造方法,和无参构造方法,两则方法名相同,但是参数不同,这就叫构造方法的重载

标准JavaBean

1.类名需要见名知意
2.成员变量使用private修饰
3.提供至少两个构造方法
·无参构造方法
·带全部参数的构造方法
4.成员方法
·提供每一个成员变量对应的setXxx()/getXxx()
`如果还有其他行为,也需要写上

补充:成员与局部变量

成员变量和局部变量的区别

成员变量:类中方法外的变量
局部变量:方法中的变量(形参也是局部变量)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值