JAVA笔记四(12-15 面向对象基础)

十二、面向对象基础(一)

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);
	
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值