---------------------- android培训、java培训、期待与您交流! ----------------------
一,面向对象
...//方法体
return 返回值;
}
返回值类型:如果方法需要返回值,必须在这里声明方法的返回值类型,可以使基本数据类型(int、short、double、boolean等),也可以是对象类型(例如数组、字符串等)
方法名:这是必须的方法定义部分,程序将通过该名称调用这个方法。
形参表:这是可选部分,说明方法被调用时,应该向它传递的数据。
形参表由1到多个形式参数构成,当方法有多个形式参数时,参数之间使用“,”逗号分割;如果方法没有参数,
可以省略“形参表”部分。
比如:
public void studentInformation(String name,int age,String sex)
{
//方法体
}
局部变量:
如果在成员方法内定义一个变量,那么这个变量被称为局部变量,局部变量只在定义它的方法内有效。
public class Test
{
public Test()//成员方法
{
int x =0;//局部变量
System.out.println(x);
}
}
注意:局部变量是在方法被执行时创建,在方法执行结束时被销毁,局部变量在使用时必须进行赋值操作或被
初始化,否则会出现编译错误。
局部变量的有效范围:
可以将局部变量的有效范围称为变量的作用域,局部变量的有效范围从该变量的声明开始到该变量的结束为止
在相互不嵌套的作用域中可以同时声明两个名称、类型相同的局部变量,列如:
类名 对象名=new 类构造方法();
类名:这是要创建实例对象的类的名称。
对象名:它可以看作是一个变量,这个变量名就是创建的实例对象的名称。
构造方法:是类创建对象时必须执行的方法,用于构造一个新的对象并初始化对象属性。
比如:
String name = new String("一个新的字符串对象");
注意:每个对象都是相互独立的,在内存中占据独立的内存地址,并且每个对象都具有自己的生命周期,当一
个对象的生命周期结束时,对象变成了垃圾,由Java虚拟机自带的垃圾回收机制处理。不能再被使用。
访问对象的属性和行为:
对象名.属性
对象名.成员方法名()
在对象名后面使用“.”操作符连接对象的属性或方法。
对象的引用:
在Java语言中尽管一切都可以看作对象,但真正操作标识符实质上是一个引用
类名 对象引用名称
比如一个Book类的引用可以使用如下代码:
Book book; //通常一个引用不一定需要有一个对象相关联。
引用与对象相关联的语法:Book book= new Book();
Book book= new Book();
Book:类名。
book:对象。
new:创建对象操作符。
注意:引用只是存放一个对象的内存的地址,并非存放一个对象,严格说引用和对象是不同的,但是可以将这
种区别忽略,如可以简单的说book是Book类的一个对象,而事实上应该是book是包含Book对象的一个引用。
创建对象使用对象比如:
class Car//对Car这类事物进行描述
{
String color = "red";
int num = 4;
void show()
{
System.out.println("color="+color+"..num="+num);
}
}
class CarDemo
{
public static void main(String[] args)
{
Car c = new Car();//建立对象
c.color = "black";//对对象的属性进行修改
c.show();//使用对象的功能。
}
}对象的销毁:
大多数面向对象的编程语言,要求显示地销毁某个对象,这点就没有Java做的好,Java语言提供了垃圾回收机
制,对于不再使用的对象会自动销毁,也可以在程序中显示的为某个对象赋值null值,使对象不再被使用。
3,匿名对象
如果对一个对象进行多个成员调用,必须给这个对象起个名字。
匿名对象使用方式二:可以将匿名对象作为实际参数进行传递。
4,private(私有)关键字
在getBook()方法中,方法的返回值为Book类型,所以方法体中使用return this这种形式将Book类型的对象进行返回。
8,static(静态)关键字
静态:static。用法:是一个修饰符,用于修饰成员(成员变量,成员函数).
当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,
还可以直接被类名调用。类名.静态成员。
static特点:
1,随着类的加载而加载。
也就说:静态会随着类的消失而消失。说明它的生命周期最长。
2,优先于对象存在
明确一点:静态是先存在。对象是后存在的。
3,被所有对象所共享
4,可以直接被类名所调用。
实例变量和类变量的区别:
1,存放位置。
类变量随着类的加载而存在于方法区中。
实例变量随着对象的建立而存在于堆内存中。
2,生命周期:
类变量生命周期最长,随着类的消失而消失。
实例变量生命周期随着对象的消失而消失。
静态使用注意事项:
1,静态方法只能访问静态成员。
非静态方法既可以访问静态也可以访问非静态。
2,静态方法中不可以定义this,super关键字。
因为静态优先于对象存在。所以静态方法中不可以出现this。
3,主函数是静态的。
静态有利有弊
利处:对对象的共享数据进行单独空间的存储,节省空间。没有必要每一个对象中都存储一份。
可以直接被类名调用。
弊端:生命周期过长。
访问出现局限性。(静态虽好,只能访问静态。)
1,为了避免其他程序过多建立该类对象。先禁止其他程序建立该类对象
2,还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个对象。
3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
1,将构造函数私有化。
2,在类中创建一个本类对象。
3,提供一个方法可以获取到该对象。
{
private static Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
Single类一进内存,就已经创建好了对象。
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null)
{
synchronized(Single.class)
{
if(s==null)
s = new Single();
}
}
return s;
}
}