JAVA笔记四(12-15 面向对象基础)
来源:互联网 发布:finalcut for mac 编辑:程序博客网 时间:2024/05/22 06:44
十二、面向对象基础(一)
1.什么是面向对象
一种编程方法,一种思维方式。
2.应该如何学习面向对象
1)掌握一门面向对象语言的语法。 2)掌握面向对象的思维方式。 3)熟悉面向对象设计原则(面向对象总体目标:消除重复代码)。 4)掌握面向对象涉及模式。
3.面向对象的思维方式
1)首先确定谁来做,其次确定怎么做; 2)首先考虑整体,其次考虑局部; 3)首相考虑抽象,其次考虑具体。
要习惯于将面向对象与现实世界做比较。
面向对象的终极目标就是,消除重复代码。
十三、面向对象基础(二)
1.创建类的方法
定义类的方法
class 类名 //类型最好用英文单词
{
属性; //也叫成员变量,主要用于描述类的状态
方法; //也叫成员函数/方法,主要用于描述类的行为
}
类的表示方法
类的定义方法
class Person{int age ;void shout(){System.out.println("oh,my god! I am" + age);}}
2.创建对象的方法
格式:类名 对象名 = new 类名();
例如:Dog d = new Dog(); //d为对象名,也叫引用;引用存放在栈内存里;对象本体存放在堆内存里。
创建对象过程:创建一个Dog的引用存在栈内存中,创建一个Dog的对象堆内存中,用赋值号将创建的Dog对象赋给这个引用。
类和对象的关系:类是抽象的概念。对象是具体的个体。
3.对象和对象的引用
十四、面向对象基础(三)
1.对象的使用方法;
使用对象调用变量和函数:
1.对象.变量
2.对象.函数()
例子:创建一个Dog类:
class Dog{String name;int age;String color;void jump(){System.out.println("jump!");}}
创建一个Test类,创建一个新的对象并调用变量和函数
class Test{public static void main(String[] args){Dog d = new Dog();d.name = "wangcai";d.age = 2;d.color = "white";d.jump();System.out.println("the dog's name is"+d.name);}}先编译Dog.java,再编译Test.java,然后运行Test(java函数从主函数开始运行。)
2.多对象的创建方法;
Dog d1 = new Dog();
Dog d2 = new Dog();
每个对象有自己的属性和方法,互相不影响。
3.匿名对象的创建和使用方法;
匿名对象的使用:可以不定义对象的引用名称,直接调用这个对象的方法。这样的对象叫做匿名对象,如
new Dog().jump(); //匿名对象通常是一次性使用的。若出现两次,则指的是两个不同的匿名对象。
十五、面向对象基础(四)
1.函数的重载 //在一个类中,允许函数的重名。
函数重载时,函数名可以一样,但是参数列表不能相同。
函数重载的定义:1)在同一个类中; 2)有相同的函数名; 3)有不同的函数列表。
例:
class A {void funA(){System.out.println("没有参数的funA函数");}void funA(int i){System.out.println("有一个整型参数的funA函数");}}调用函数
class Test{public static void main (String[] args){A.a = new A();a.funA();a.funA(10);}}
2.构造函数的作用 //Dog()就是构造函数。
构造函数的语法特征: 1)构造函数的函数名必须和类名一模一样。 2)构造函数没有返回值的定义 3)使用new来调用构造函数; 4)如果你的类里面没有构造函数,编译器会自动加上一个参数为空、函数体为空的构造函数; 5)如果类里面已经有构造函数,编译器则不在添加方法体为空的构造函数;
构造函数的作用:1)用new来执行构造函数的时候,会生成一个这个类的对象; 2)使用有参数的构造对象,可以简化为对象赋初始值的代码。
有参数的构造函数的使用方法:
class Dog{Dog(String a, int b){name = a;age = b;}String name;int age;}
class Test{public static void main (String[] args){Dog d1 = new Dog("wangcai",2);Dog d2 = new Dog("sixi",3);System.out.println("dog d1's name is"+d1.name+",age is"+d1.age);System.out.println("dog d2's name is"+d2.name+",age is"+d2.age);}}
- JAVA笔记四(12-15 面向对象基础)
- 笔记整理(java基础四-----面向对象---继承)
- 笔记整理(java基础四-----面向对象---继承)
- Java 面向对象基础小结(四)
- Java基础—面向对象(四)
- java学习笔记(四)面向对象
- Java4Android笔记之Java中的面向对象基础(四)
- java面向对象基础(笔记)
- 面向对象基础(四)
- JAVA 基础笔记|面向对象
- 面向对象JAVA基础笔记
- Java面向对象笔记(四)匿名对象
- 四.Java基础_面向对象(二)
- Java基础之面向对象(四)——修饰词
- 黑马程序员 JAVA基础 -面向对象(四)
- Java基础系列四、面向对象
- Java基础笔记之面向对象基础
- 【Java基础笔记】面向对象基础
- php中0,null,empty,空,false,字符串关系详解
- JAVA笔记三(10-11 循环语句)
- 在线教程_链接
- PCI设备驱动
- 目前使用的Sublime Text 插件
- JAVA笔记四(12-15 面向对象基础)
- 《sql---教学反馈系统-阶段项目1》
- 自学基础加强视频01--11笔记
- 【整理】winForm中实现数据库加密技术
- webdriver下的maven项目
- xml 中的xsi 是什么意思
- 《sql---教学反馈系统-阶段项目2》
- POJ 2125 Destroying The Graph 最小点权覆盖
- yiiframework 简介 四