Javav面向对象 基础(类,对象,构造器)

类与对象:

什么是类,什么又是对象?      ---类,是一批对象的抽象;  对象,是一个具体存在的实体。

打个比方,日常所说的人,其实都是人的实例,而不是人类。

类和对象的关系:类的实例化可产生对象。

Java语言里定义类的简单语法如下:

[修饰符] class 类名
{
	零到多个构造器定义...
	零到多个成员变量...
	零到多个方法...
}

类中五大成员:

1:成员变量;

2:方法;

3:构造器;

4:内部类;

5:初始化块;

修饰符:修饰符可以是public,final \ abstract,或者完全省略这三个修饰符。

类名:只要是一个合法的标识符即可;但如果从程序的可读性方面来看,Java类名必须是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其他字母小写,单词与单词之间不要使用任何分隔符。

类可以用来干什么?

1:定义变量。

【所有类,都是引用类型,所以类,都可以用来声明变量。】

2:调用static修饰的方法和static修饰的变量。

3:创建对象。

new  构造器(参数);

4:派生子类。

对象可以用来干什么?

调用无static修饰的成员变量和方法。

成员变量:

定义成员变量的语法格式如下:

[修饰符] 类型 成员变量名 [= 默认值];

修饰符:private \ protected \ public,final,static.

类型:任意基本类型或引用类型。

变量名:语法要求:标识符即可;专业角度:首字母小写,后面每个单词的首字母大写

方法:

定义方法的语法格式如下:

[修饰符] 方法返回值类型 方法名(形参列表)
{
    零到多条可执行语句...
}

修饰符:private \ protected \ public,final \ abstract,static。

返回值类型:任意基本类型或引用类型。如果声明了返回值类型,则方法体内必须有一个有效的return语句。

方法名:与成员变量的命名规则基本相同。

形参列表:形参列表由零组到多组“参数类型 形参名”组合而成。

构造器:

构造器很像一个特殊的方法,定义构造器的语法格式如下:

[修饰符] 构造器名(形参列表)
{
    零到多条可执行语句...
}

构造器与方法的主要区别:

1:构造器没有返回值类型。

2:构造器的名字一定与类名相同。

构造器的作用:new调用构造器来创建对象。

【如果你没有写构造器,系统会默认为该类提供一个无参数的构造器】

【构造器属于实例,它不可能被static修饰】

下面定义一个Person类:

public class Person // 类名称首字母大写
{     
    public int age ;    //成员变量
    public void test()    //tset方法
    {       
       System.out.println(这是一个测试方法) ;
    }
//定义一个构造器
    public Person(String name,int age) 
    {
        this.name = name; 
        this.age = age;    
    }  

}
其中,this关键字总是指向调用该方法的对象,this的最大作用就是让类中的一个方法,访问该类里的另一个方法或实例变量。【static修饰的方法不能使用this引用。】
static关键词:

static关键字主要有两种作用:

第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。

第二,实现某个方法或属性与类而不是对象关联在一起

具体而言,在Java语言中,static主要有4中使用情况:成员变量、成员方法、代码块和内部类

Java中提供了static方法和非static方法。

static方法是类的方法,不需要创建对象就可以被调用,而非static方法是对象的方法,只有对象被创建出来后才可以被使用

static方法不能访问非static类型的变量。】

例如下面代码:

public class NullAccessStatic 
{
	private static void test()
	{
		System.out.println("static修饰的类方法");
	}
	public static void main(String[] args)
	{
		NullAccessStatic.test();//这里将打印 static修饰的类方法
	}
}


猜你喜欢

转载自blog.csdn.net/qq_41430599/article/details/79690225