java面对对象 ,类与对象,封装
来源:互联网 发布:莽荒纪披风进阶数据 编辑:程序博客网 时间:2024/06/05 06:14
一:面向对象
1 面向对象 即是要寻找对象 使用对象 去解决问题 重点在于思想。
2 它的优点:
(1)将复杂的问题简单化 (2)从事物的执行者转化为指挥者 (3)面向对象的思想是贴近人思考的问题即懒人思想
3 (1)类—-一类抽象事物的集合
(2)对象 使用类创造出来的 具体的事物 叫做对象
例子:车———————————类
我的一辆红色法拉利458车———对象
4 面对对象的过程
封装 继承 多态
5 在java中最基本的单位 类
成员变量(实例变量) 属性
书写位置: 类中 方法外
成员方法 相当于行为
6 面向对象的设计
维护类和对象之间的关系
不断操作对象 使用 对象 指挥对象去完成一些功能
举例:写一个学生类
成员变量 姓名 年龄 性别
成员方法 吃法 睡觉 听课
class Student{ //成员变量 String Name;//姓名 int age;//年龄 String gender;//方法 //成员方法 //关键字 返回值类型 方法名(数据列表)(方法体) //入栈 压栈public void eat() { System.out.println("吃饭"); } public void sleep() { System.out.println("睡觉"); } public void lesson() { System.out.println("听课"); }}public class StudentDemo { //main 函数 弹栈public static void main(String[] args) { // TODO Auto-generated method stub //类可不可以重名 //创建一个学生对象 //数据类型 变量名 = 初值 -- 基本数据类型 引用数据类型 //类名 对象名 = new 类名(); //int[] array = new int[] {12345}; //堆内存 //垃圾回收机制 //new 一次 产生一个对象 Student stu = new Student(); //使用成员变量 对象点成员变量 //stu.Name= "wangling"; //stu.age= 18; //stu.gender="男性"; //stu地址 stu.Name = "wangling"; stu.Name = "wangning"; stu.age = 18; stu.gender ="男性"; S System.out.println(stu.Name);System.out.println(stu.age);System.out.println(stu.gender); //成员方法 对象点方法 // 注意:调用无参方法 括号必须带上 //被立即释放,出栈 ,弹栈 stu.eat(); stu.sleep(); stu.lesson();for(int i = 0;i < 10 ; i++ ) { Student stu1 = new Student(); }}}
二 成员变量和局部变量
成员变量和局部变量的不同之处
1 书写位置 不同
局部变量:在方法中 或 方法申明中
成员变量:再类中 方法外
2初始值不同
局部变量:必须要给定初始值
成员变量:只要你创建了对象就有初始值
3内存存在的位置不同
局部变量:存在栈内存中
成员变量: 存储在堆内存中
4生命周期不同
局部变量:随着方法的入栈儿出生 ,随着方法的出栈而死亡
成员变量:随着对象的出生而出生 , 随着对象的死亡而死亡
class Car{ String name = "法拉利";//名字 String color = "red";//颜色 int shuliang = 4;//轮胎数量 double paiqiliang = 1.70;//排气量 public void use(int a/*局部变量*/) { int nam;//局部变量 System.out.println("可以行使"); } public void zyx() { System.out.println("可以震一下"); } public void cuncu() { System.out.println("可以存储物品"); } //介绍自己的方法 public void sayhi() { System.out.println(""+name+">>>>>> "+color); }}
public class CarDemo { public static void fun1(int num) { System.out.println(num); num = 10; } //参数是引用数据类型时 如何传参 public static void fun2(Car car) { car. name = "吉利"; car.color="粉红色"; car.sayhi(); } public static void main(String[] args) { int num = 123; fun1(num); System.out.println(num+""); //初始化/创建 一个car Car car = new Car(); //car的地址传进去 fun2(car); //地址 // TODO Auto-generated method stub //创建一个对象 Car car1 = new Car(); car1.name = "布加迪"; System.out.println(car1.name); car1.sayhi(); //思考两个对象 在内存中的表现 Car car2 = new Car(); car2.name = "兰博基尼"; car2.color = "蓝色"; System.out.println(car2.name); car2.sayhi(); //两个对象,三个引用 Car car3 = car2; car3.sayhi(); }}
三 匿名对象
好处 节省代码 使用方便
用处:当你只调用一个方法时使用
如果你要反复调用一个方法 比较浪费内存空间
四 封装
把属性和方法的具体实现隐藏,开放公共访问的方法
private bean (权限修饰符) 系统的关键字
该属性加了private 这个关键字 变成私有的属性
私有属性 本类能访问的 本类以外访问不到
如何访问 private 修饰的成员变量
1 获取
2 修改
java 有实体类的对象
成员变量私有化 是封装的一种表现形式
私有化之后必须要写 set/get 方法
- java面对对象 ,类与对象,封装
- 面对对象的封装
- 面对对象之封装
- java 类与对象-封装
- Java面对对象思想
- java/面对对象
- java/面对对象基础
- Java面对对象入门
- Java面对对象入门
- java面对对象
- Java面对对象多态性
- JAVA面对对象
- java面对对象
- java基础--类与对象(封装)
- Java---对象与类的封装
- java详解 --- 类与对象以及封装
- 黑马程序员----面对对象与类
- 面对对象三大特性—封装
- 漫游算法 01
- 专访架构师陈波:微博近几年的架构演进和架构师的技能素养
- 如何优雅的抄袭代码?天下代码一大抄,这才是正确的姿势
- 《Composing Programs》学习笔记(1)Chapter 1: Building Abstractions with Functions(关键词:软件工程/抽象/函数)
- 虚函数不能定义为内联函数
- java面对对象 ,类与对象,封装
- java集合详解(看完秒懂)集合是什么?
- 如何有效的去掉PyCharm中的波浪线
- 大数据学习37:DataFrame集合减操作例子
- 轻松理解CBOW模型
- MySQL命令行输入密码后闪退问题解决
- 输入一个随机数
- hadoop--hdfs入门讲解
- Python3正则表达式(Python3 Regular Expression)