一、
1、什么事面向对象?
面向对象是一种编程方法;面向对象是一种思维方式;不是一门编程语言。
2、应该如何学习面向对象?
掌握一门面向对象语言的语法;
掌握面向对象的思维方式;
熟悉面向对象设计原则;
掌握面向对象设计模式
3、什么是面向对象思维方法
首先确定谁来做,其次确定怎么做;
首先考虑整体,其次考虑局部;
首先考虑抽象,其次考虑具体
二、
1、创建类的方法
class 类名
{
属性;(也叫成员变量,主要用于描述类的状态)
方法;(也叫成员方法,主要用于描述类的行为)
}
2、创建对象的方法
格式:类名 对象名 = new类名();
例如:Dog dog = new Dog();
Dog dog =创建一个Dog的引用,放在栈内存中
= new Dog();创建一个Dog的对象,放在堆内存中
3、对象和对象的引用
对象放在堆内存中,对象的引用放在栈内存中
三、
对象的使用方法
使用对象调用变量和函数:
对象.变量
对象.函数()
多对象的创建方法
Dog d1 = new Dog();
Dog d2 = new Dog();
匿名对象的创建和使用方法
可以不定义对象的引用名称。而直接调用这个对象的方法。这样的对象叫做匿名对象,如:
new Dog().jump();
new Dog().jump();
用完后就消失了,第二个匿名对象是新创建的
四、
函数的重载
判断标准: 两个或多个函数处于同一个类中;函数的函数名相同;函数的参数列表不同
class A{
void funA(){
System.out.print("没有参数的funA函数"+"\n");
}void funA(int a){
System.out.print("拥有一个整型参数的funA函数");
}
}
两个funA函数就是重载
class TextA{
public static void main(String args[]){
A a = new A();a.funA();
a.funA(10);
}
}
所以funA函数都能调用
构造函数的作用
new 后面调用的就是构造函数。
语法:
构造函数函数名必须与类名相同;
构造函数没有返回值的定义;
使用new来调用构造函数;
如果类中没有构造函数,编译器会自动加一个参数为空,方法体为空的构造函数。如果有的话,就不会加了。
class A{A(){
//构造函数
}}
举例:
class Person{
Person(){
}Person(String n,int a){//自己定义的构造函数重载了
name = n;
age = a;
}String name;
int age;
}
class TextPerson{
public static void main (String args[]){
Person person1 = new Person("zhangsan",10);
Person person2 = new Person("lisi",20);System.out.print("person1的名字是:"+person1.name+",年龄是:"+person1.age+"\n");
System.out.print("person2的名字是:"+person2.name+",年龄是:"+person2.age);
}
}
java4android (面向对象基础)