1.类与对象的定义,及关系:
对象:具体的个体,客观的存在。
类:抽象的,主观的,一群对象共同点描述的简称。
关系:类是对象的抽象和归纳,对象是类的一个
例(或者说类是对象的模板)。
如你眼前的这座山,这是具体的对象,而说山,这就是抽象的,因为它具体指代那座山你不清楚。
//定义一个学生类
public class Student {
//定义类的属性
public String name;
public char sex;
public int age;
//定义类的方法
public void study(){
System.out.println("学生名字是:"+name+" 性别是:"+sex+" 年龄是:"+age+" 正在学习");
}
public void test(){
System.out.println("学生名字是:"+name+" 性别是:"+se+" 年龄是:"+age+" 正在考试");
}
}
2.类的组成:
程序中的类由两个部分组成:1)属性 2)方法。
程序中的类就是根据生活中的对象或者类[/size][/size]进行的一种定义。
如描述一个学生,可以从他的姓名,性别,年龄,分,(这些是学生的属性);学习,玩,(这些是方法)。
可以这样理解:类的属性是静态特征,类的方法是动态特征。
属性和方法的调用:
在同一文件夹下的文件,在定义主类,创建对象后可以访问。
//定义一个主类
public class Manage {
//定义主函数
public static void main(String args[]){
//创建一个学生对象,连接不同文件
Student stu=new Student();
//给学生的属性赋值
stu.name="张佳";
stu.sex='女';
stu.age=18;
//使用学生的对象调用方法
stu.study();
stu.test();
}
}
3.类的基本格式:
访问修饰符(private、默认的、protected、public)
public class 类名 {
访问修饰符 数据类型 属性名;
访问修饰符 返回值数据类型 方法名(数据类型 参数名,...){
//方法体
}
}
4.实例化对象和调用方法的格:
类名 对象名 = new 类名();
对象名.方法名(参数值,...);
5.构造方法:
类的组成部分是属性和方法(方法分为两类:普通方法和构造方法)
访问修饰符 构造方法名(数据类型 参数名,...){
//方法体
}
类中未定义构造方法时,java会默认提供一个构造方法(不带任何参数的构造方法)。
如果类中定义了构造方法,则默认的构造方法会被覆盖掉,不能使用默认的了,只能使用你自己定义的构造方法.
作用:
1.给属性赋值
2.实例化对象
区别:
1.构造方法的是不需要定义返回值数据类型,普通方法必须要定义返回值数据类型。
2.构造方法的名字必须要和类名完全一致,普通方法的名字可以任意定义(不能是关键字)。
3.构造方法时用来是实例化对象,普通方法用来表示对象的行为.
4. static,final, abstract,native不能修饰构造方法。
6.方法重载:
实现方法重载的条件:
1).方法名必须要完全一致;
2).方法所带的参数个数、参数类型、参数顺序至少要有一个是不同的。
3) 方法的重载的意义:
可以提高对已有代码的利用率。(提高程序的抽象性和封装性)
// 定义一个学生类
public class Student {
每个类都默认有一个无参数的构造方法(构造器,构造函数)
//无参构造器方法
public Student(){
}
//构造方法的重载
public Student(String s){
name = s;
}
public Student(int t){
num = t;
}
public Student(String s,int t){
name = s;
num = t;
}
/** 学生的名字*/
private String name;
/** 学生的学号*/
private int num;
}
7.方法的调用方式:
1)无参方法的调用
如:在同一个类中,类Student的方法a()调用类Student的方法b()
public void a() {
b(); //调用b()
}
在不同类中类Student的方法a()调用类Teacher的方法b(),先创建类对象,然后再调用。
public void a() {
Teacher t=new Teacher();
t.b(); 调用b()
}
2)有参方法的调用
有参方法的语法;
[修饰符1 修饰符2 …] 返回值类型 方法名{
程序代码;
return 返回值;
}
例如:
public class Dog{
String color=“黑色”;
public String bark(String sound)
sound=“叫”;
return sound;
}
public String getColor(){
return color;
}
//创建主类调用
public class Manage{
public static void main(String args[]){
Dog d=new Dog();
System.out,println(d.bark(“ ”));
}
}
8.this关键字:
作用:
1.区分属性和参数,加了this表示属性,没有加的则表示参数;
2.调用构造方法、属性和普通方法。
例如:
String name=“NetJava”;
Student st2=new Student(name);
/**
*Student类构造器中this指st2所代表的的对象
*构造时传入名字参数,初始化name属性值
*/
public Student(String name){
前者表示属性,后者是变量
this.name=name;
}
this表示的是当前调用方法的对象。stu在调用方法,那么方法中的this就表示stu;
9.公有,私有变量的调用方式:
若是调用私有变量,则可以在类中定义get()方法,即返回值就是你想得到的那个变量。Java中一般把变量(属性)定义成私有的,把方法定义成公有的。public定义的属性或方法在子类中可以调用,而private定义的属性或方法在子类中不可以调用。
私有方法可以在类内部调用。
public class student{
//设置学生的名字
public void setName(String n){
name=n;
}
public String getName(){
return name;
}
/**
*学生学习的方法
*@param hour:要学习的时间长度
*@param hour: 要学习的科目名称
*/
Public void study(int hour,String k){
Km=k
Scro+=hour/3;
If(scro>5){
toSleep(hour/3);
}
}
Public void play(int hour){
Scro-=hour;
}
//私有方法可以内部调用
private void toSleep(int t){
System.out.println(name+“去休息小时是”+t);
}
//输出某个学生对象信息的方法
public void showInfo(){
System.out.println(name+“学分是”+scro+“所学科目是”+km);
}
public String km=“未知科目”;
//学生名字属性:私有,在类内部调用
private String nsme;
private int sco=0;
}
分享到:
相关推荐
这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、...
Java OCR(Optical Character Recognition,光学字符识别)技术是一种计算机视觉领域的应用,它能将图像中的文字转换成可编辑的文本格式。这项技术在各种场景下都有广泛应用,比如文档扫描、车牌识别、发票处理等。...
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...
java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java...
JAVA开发人员最新版本7.0 api文档!本文档是 Java Platform Standard Edition 7 的 API !Java 1.7 API的中文帮助文档。 深圳电信培训中心 徐海蛟博士教学用api 7.0中文文档。支持全文检索,在线即时查询。 里面列...
java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
Java2Pas是一个实用工具,主要用于将Java编程语言编写的源代码转换为Pascal语言的等效代码。这个工具对于那些需要在两种语言之间迁移代码或者理解不同编程语言语法的开发者来说非常有价值。Java和Pascal虽然都是面向...
### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....
Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 ...
标题"smali2java——直接将smali转换成java"揭示了本文的核心主题,即一个名为"smali2java"的工具,它的主要功能是将编程语言Smali转换为Java。Smali是一种低级的、汇编式的语言,通常用于Android应用的逆向工程,而...
Java到Python的转换工具,如标题“java2python”所示,是编程领域中的一种实用技术,旨在帮助开发者将已有的Java代码转换为Python语言。这种转换对于那些熟悉Java但希望进入Python生态系统,或者想要利用Python特定...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
jdk11官方版是一款专为java编程人员推出的软件开发工具。JAVA JDK 11最新版可以帮助用户轻松的获取到JAVA的运行环境,让你在电脑上进行程序开发操作。JAVA JDK 11软件新增Epsilon 垃圾收集器和lambda 参数的局部变量...
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的...