Java面向对象基础详解
目录
- 一、前言
- 什么是对象?
- 什么是类?
- 类和对象的关系?
- 类的定义 ?
- 怎么创建对象?
- 格式:
- 创建对象的作用?
- Phone类下:
- PhoneDemo下:
- 二、封装
- 封装的好处?
- Student类下:
- 代码:
- StudentDemo类下:
- 代码:
- 总结
一、前言
我们上次学过java的方法,现在我们来学习新的一篇,也算是java中比较重要的一节了面向对象主要包括封装、继承、多态
面向对象基础是java中核心。
我们这节主要讲的是封装,在这之前我们先来了解一下类和对象的定义和关系
什么是对象?
世间一切都是对象,万物解释对象,对象就是看得见摸得着的东西。
什么是类?
类是现实生活中对具有属性和行为同一类的总称。
类和对象的关系?
类是对象的抽象化,对象是类的实例化
类的定义 ?
类是java中的基本概念,java中就是以类为基础的,由类所构成的
怎么创建对象? 创建对象是java中常用的形式
格式:
类名 对象名=new 类名(); 举例 Phonep=new Phone();
创建对象的作用?
通过创建对象,该类实例化,我们就可以通过创建的对象访问该类下所有成员也可以修改创建两个类,
所访问的成员变量。(不包括private修饰的成员)
Phone类下:
文章图片
PhoneDemo下:
文章图片
Phone类下:
public class Phone {public int price=3999; public String brand="华为"; public static void playGame(){System.out.println("这手机可以打游戏"); }}
PhoneDemo下:
public class PhoneDemo {public static void main(String[] args) {Phone p=new Phone(); //创建对象System.out.println(p.brand); System.out.println(p.price); p.playGame(); }}
以上我们演示了创建对象的作用功能。
通过对象的修改这里就不一一演示了。
二、封装
封装是把类中的成员用private修饰使他不能被所以改变,然后提供get/set方法对锁封装
的成员进行赋值和赋值限制。
封装的好处?
封装使数据变得更有条理,我们提供的条件可以对外接输入的值进行筛选和判断,比如封装的演示图:
设一个年龄,我们可以设置年龄的范围,和年龄的非负,并且给出相应的提示。
Student类下:
文章图片
代码:
public class Student {private String name; private int age; public Student(){}//无参构造public Student(String name,int age){// 有参构造if(age<0){System.out.println("你输入的年龄有误,默认为18岁"); this.age=18; this.name=name; }else{this.age=age; this.name=name; }}public void setName(String name){//get/set方法this.name=name; }public String getName(){return name; }public void setAge(int age){if(age<0){System.out.println("你输入的年龄有误,默认为18岁"); this.age=18; }else{this.age=age; }}public int getAge(){return age; }}
StudentDemo类下:
文章图片
代码:
public class StudentDemo {public static void main(String[] args) {Student s=new Student(); //创建无参对象s.setAge(20); s.setName("张三"); System.out.println(s.getName()+" ,"+s.getAge()); s=new Student("李四",-1); //创建对象的同时赋值System.out.println(s.getName()+","+s.getAge()); }}
我们也可以在输入年龄的时候加上Sanner进行键盘上的输入这里就不演示了
总结 【Java面向对象基础详解】本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用
- jQuery插件