面向对象
来源:互联网 发布:超级优化有几个女主角 编辑:程序博客网 时间:2024/05/23 01:15
面向过程与面向对象的区别
面向过程:一个线性的做事方法,一步步来,所有事情自己做面向对象:站在高度上,很多事情让别人代做
(注释:两者相辅相成并不对立)
对象和类的定义
对象:能产生想法的具体的事物(小范围,具体的,万物皆是对象)
类:对对象抽象出来的部分(大范围,抽象的)类有包含:成员变量和成员方法
(注释:现有对象才能产生类)
对象和类的关系
特殊到一般具体到抽象;
类可以看成一类对象的模板,对象可以看见该类的一个具体实例
类是用于描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所应具有的静态和动态属性
构造方法:
修饰符 类名(){}
当类没有任何一个构造器的时候,虚拟机会帮这个类创建一个无参的构造方法,但是如果类拥有任何一种构造方法,虚拟机就不会帮你再创建。
调用类属性和方法
对象名.成员变量
对象名.成员方法
全局变量和局部变量:
全局变量属于整个类,所有方法都可以使用和更改他;局部变量属于方法本身;只有在这个局部变量的方法内部才能使用
当全局变量和局部变量的名字相同的时候,在方法调用的时候,首先使用方法内的局部变量
创建一个对象的方法:new 一个对象
new 关键字调用的是类的构造方法,通过类的构造方法可以产生一个新的对象。调用类的方法需要使用类的对象.方法名(参数列表);
this 关键字 代表对象本身,p.name this == p
当类没有任何一个构造器的时候,虚拟机会帮这个类创建一个无参的构造方法,但是如果类拥有任何一种构造方法,虚拟机就不会帮你再创建。
构造器的作用:产生一个对象的模版。为了按照某种结构制造一个对象;
值传递和引用传递:
值传递:基本数据类型 本身不会发生变化;引用传递:引用数据类型(类(对象),数组,接口(特殊类))会对本身产生变化;
类包含:属性(成员变量)和方法(成员方法),构造方法(特殊方法),代码块,结构体,内部类
内存结构:栈(局部变量,名字)堆(new 的对象(内容))
package com.sxt;/** * 创建一个人类 * @author Administrator * */public class Person {//属性String name;//名字int age;//年龄String sex;//性别double height;//身高double weight;//体重String idCard;//证件//构造方法public Person(String name,int age,String sex,double height,double weight,String idCard){this.name=name;this.age=age;this.sex=sex;this.height=height;this.weight=weight;this.idCard=idCard;}//定义方法public static void eat(){System.out.println("我在吃饭");}public static void doudou(){System.out.println("我在打豆豆");}public static void sleep(){System.out.println("我在睡觉");}public static void main(String[] args) {/*创建对象
Person xiaolan=new Person();xiaolan.name="小懒";xiaolan.age=18;xiaolan.sex="男";xiaolan.cs(xiaolan);System.out.println(xiaolan.sex);xiaolan.eat();xiaolan.sleep();xiaolan.doudou();*/Person xiuxiu=new Person("栗子", 18, "女", 164, 52.5, "12345678901");System.out.println(xiuxiu.name+"\t"+xiuxiu.age+"岁\t"+xiuxiu.sex+"\t"+xiuxiu.height+"cm\t"+xiuxiu.weight+"kg\t"+xiuxiu.idCard);}public void cs(Person g){g.sex="女";}}
阅读全文
0 0
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- hdu4857 逃生(拓扑排序)
- Python基础教程
- this和static关键字总结
- 日常学习2017.7.22
- CodeForces
- 面向对象
- Java集合HashMap---面试题
- Java面向对象一点小基础总结
- Unity_脚本操作对象_004
- Matlab的护眼模式设置
- Exclipse如何修改Properties的编码格式
- tcp/udp的区别
- vue2.0,jsonp仿百度搜索页面,请求百度数据
- 【OpenCV入门指南】第一篇 安装OpenCV