基础知识

JAVA是由C/C++语言发展而来的纯面向对象语言,其基本元素包括:简单数据类型 和 复合数据类型(即类)。类是对客观事物的抽象描述,它有面向对象的四个特点,即:封装性、继承性、多态性和通信相关性。

类由属性和方法构成,类、属性、方法都通过修饰符限制如何使用。常用的修饰符包括:public、protected、private、static、final、abstract等等。JAVA语言中除了类以外,还存在抽象类和接口,其中抽象类是使用abstract修饰的类,其中包含了抽象的方法(即只有方法的申明,无方法体,而且抽象的方法都需要被其子类所覆盖),接口的关键字是interface,它仅包含使用finall修饰的成员变量和抽象方法。类之间的关系是继承(extends),接口之间的关系也是继承(extends),类与接口之间的关系是实现(implements)。

在类中的方法有三类,分别是:构造方法、普通方法和主方法。构造方法是对象初始化的方式,一般存在多个构造方法,根据带入的参数构造不同的对象。主方法是程序的入口,其固定格式为:public static void main(String [] args)。类中的方法存在多态性,分别是:重载和覆盖。其中,重载是在同一类中具有相同名称的方法,而参数的类型和个数不同;覆盖是具有继承关系的父类和子类之间具有相同名称的方法,且参数的类型和个数,以及返回值均相同。

使用类来声明对象时,就是产生不同的个体,即实例化。且需要使用new操作符来申请内存空间。当该对象不再需要时,JAVA有三种垃圾回收方法,分别是:JVM周期性自动回收、调用System.gc()方法 和 定义finalize()析构方法。

JAVA语言标识符命名规则如下:

JAVA语言的标识符由字母、数字、下划线(_)、美元符号($)组成,并且首字符不能使用数字;

不能把关键字作为标识符

标识符通常由多个有意义的英文单词构成,且长度一般在30个字符以内

为了保证良好的编程风格,清晰标识各类符号,Java语言有如下编程规范:

● 类名和接口名:单词首字母大写,其余字母小写,如SamDoc;

● 方法名和变量名:首单词小写,其余单词的首字母大写,其余字母小写,如bothEyesOfDoll;

● 包名:字母全部小写,如com.abc.dollapp;

● 常量名:采用大写形式,单词之间以下划线“_”隔开,如DEFAULT_COLOR_DOL。

所有的关键字都是小写。

代码实例

举例矩形类 和 长方体类,仿制圆形类和柱形类

 class rectangle{
double width;
double length;
public rectangle(){
width = 10;
length = 10;
}
public rectangle(int width, int length){
this.width = width;
this.length = length;
}
public rectangle(double width, double length){
this.width = width;
this.length = length;
}
public double getCircle(){
return 2*(width + length);
}
public double getArea(){
return width * length;
} } class cube extends rectangle{
double height;
public cube(){
width = 10;
length = 10;
height = 10;
}
public cube(double width1, double length1, double height){
width = width1;
length = length1;
this.height = height;
}
public double getVol(){
return widht * length * height;
}
public double getArea(){
return 2*(width * length + width * height + length * height);
}
}
class example{
public static void main(String [] args){
rectangle r = new rectangle(20, 20);
cube c = new cube(11, 22, 33);
System.out.println("矩形的面积" + r.getArea());
System.out.println("长方体的体积" + c.getVol());
System.out.println("长方体的面积" + c.getArea());
} }

设计根据年月输出当月日历的程序,对比以下2个关于日期程序

 public class date{                 //该类只存在一个主方法,相当于一个C语言程序
public static void main(String [] args){
int year = 2013;
int month = 3;
int day = 0;
boolean isLeap = false; if((year % 400 == 0) || ((year % 100 == 0) && (year % 4 == 0))){
isLeap = true;
} else {
isLeap= false;
}
switch(month){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
day = 31;
break;
case 2:
day = if(isLeap)?29:28;
break;
default:
day = 30;
break;
}
for(int i=0; i<day; i++){
if(i % 7 == 0)System.out.println();
System.out.print((i+1)+"天"+"/t");
} } }

按照本班同学为例,编写人类,同学类

 class human{
String name;
Int age;
Char gender;
public human(String name, int age, char gender){
This.name = name;
This.age = age;
This.gender = gender;
}
public void setName(String name){
This.name = name;
}
public void setAge(int age){
This.age = age;
}
public void setName(char gender){
This.gender = gender;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public char getGender(){
return gender;
}
public void showMessage(){
System.out.println(“姓名:”+name+”,年龄:”+age+”,性别”+gender);
} }
//学生类
class classmate extends human{
String school;
public classmate(String name1, int age1, char gender1, String school){
name = name1;
age = age1;
gender = gender1;
this.school = school;
...
}

Java学习---JAVA的类设计的更多相关文章

  1. java学习一目了然——File类文件处理

    java学习一目了然--File类文件处理 File类(java.io.File) 构造函数: File(String path) File(String parent,String child) F ...

  2. Java学习笔记——File类之文件管理和读写操作、下载图片

    Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...

  3. Java学习笔记之---类和对象

    Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态  例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...

  4. Java学习:Properties类

    Java学习:Properties类 学习目标 认识properties文件,理解其含义,会正确创建properties文件. 会使用java.util.Properties类来操作propertie ...

  5. Java学习:File类

    Java学习:File类 File类的概述 重点:记住这三个单词 绝对路径和相对路径 File类的构造方法 File类判断功能的方法 File类创建删除功能的方法 File类获取(文件夹)目录和文件夹 ...

  6. [Java学习] Java Object类

    Object 类位于 java.lang 包中,是所有 Java 类的祖先,Java 中的每个类都由它扩展而来. 定义Java类时如果没有显示的指明父类,那么就默认继承了 Object 类.例如: 1 ...

  7. Java学习之字符串类

    String在Java中是一个类类型(非主类型),是一个不可被继承的final类,而且字符串对象是一个不可变对象.声明的String对象应该被分配到堆中,声明的变量名应该持有的是String对象的引用 ...

  8. Java学习_Java核心类

    字符串和编码 字符串在String内部是通过一个char[]数组表示的,因此,可以按下面的写法: String s2 = new String(new char[] {'H', 'e', 'l', ' ...

  9. java学习——java中的反射学习笔记

    Java--reflect 一.Class类的使用 什么是Class类? 1:在面向对象的世界中,万事万物皆对象. java语言中,静态的成员,普通数据类型类是不是对象呢? 是,对象!是类的对象! 类 ...

随机推荐

  1. Veloce2 Emulator

    High capacity, high-speed, multi-application powerhouse for simulation and emulation of SoC designs ...

  2. Elasticsearch集群和索引常用命令

    https://www.cnblogs.com/pilihaotian/p/5846173.html REST API用途 ES提供了很多全面的API,大致可以分成如下几种: 1 检查集群.节点.索引 ...

  3. TCP/IP提供网络传输速率

    丢包(超时)->减少超时时间->ECN(有网络设备通知终端,有丢包发生)->DCTCP(优化快恢复) 丢包是超时的充分条件,但不是必要条件,因此也可通过其他方式获得丢包是否发生,比如 ...

  4. 一、window下zookeeper独立部署

    zookeeper是一个分布式协调应用,用于管理大型主机.通俗地说,分布式应用相对于单体应用存在着很多要处理的问题,而这些问题通常是不太好处理的.比如,典型的一致性问题,而zookeeper可以很简单 ...

  5. kinect 深度图像去噪算法

    算法设计思路 (1)读取16位深度图像到待处理图像帧组: (2)ROI区域计算 由于kinect 彩色摄像头和红外深度摄像头是存在视角偏差的,经过视角对齐后,得到的深度图像是有黑边的.此处通过取帧组第 ...

  6. mongdb启动报错

    2018-08-19T12:25:31.707+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1 ...

  7. Java基础——封装类

    封装类的由来: 为了将基本类型以对象行使存在,java对八个基本类型提供了引用类型,这八个引用类型称为基本类型的“包装类”. 八个基本类型对应的封装类: int           --->   ...

  8. J2EE企业级应用架构

    一.企业级应用架构解析 应用特点 多环境多系统的交互 海量数据.高并发[用户访问量].高TPS[每秒吞吐量] 安全等级高 自动化集群管理 架构原则 CAP原则(一致性[数据变动要同步].可用性[随着数 ...

  9. ubuntu 配置dns访问外网

    我新建了一个虚拟机后采用的net模式 一 先配置虚拟机ip使其能在局域网内通信 1.vmware 编辑->虚拟网络编辑器 可以看到网关.掩码等信息 可以看到我们配置的ip应该在192.168.1 ...

  10. MVC 手机端页面 使用标签file 图片上传到后台处理

    最近刚做了一个头像上传的功能,使用的是H5 的界面,为了这个功能搞了半天的时间,找了各种插件,有很多自己都不知道怎么使用,后来只是使用了一个标签就搞定了:如果对样式没有太大的要求我感觉使用这个就足够了 ...