java 学习记录4
来源:互联网 发布:点卡平台源码 编辑:程序博客网 时间:2024/05/20 00:50
1.面向过程:主要是函数,代码升级性能不好,扩展性不好
面向对象:结构性强,可升级,扩展性好,是模拟现实生活的代码方式
C++抽象类 Java纯面向对象
2.对象:描述+功能 变量+方法 属性+行为
“万事万物皆对象”
3.类:
New 类名(); 造对象;类名大写
类名 a = new 类名(); a接收新创建类的地址,是一个地址管理者
属性必须定义在类里面,方法里面定义的变量
class Student{
//属性 类 方法 静态快 构造器
//属性声明格式:[特殊符号] 类型 名称
String name;
String address;
String sex; //属性方法必须声明在类里
void lookbook(){
System.out.println("嗨喽亲"); //方法
}
void net(){
System.out.println("没有网的亲");
}
public static void main(String[] args){
Student s=new Student(); //创建对象
s.name="lilin"; //访问s; "."属性和方法的访问符
s.address="xian";
s.sex="girl";
s.lookbook(); //调用方法
s.net();
System.out.println("s.name");
System.out.println("s.address");
System.out.println("s.sex");
}
}
4.类的属性和方法为静态属性和方法
编译时,先加载静态成员,且静态成员只加载一次,程序关闭后才释放内存
静态成员——类
实例成员——对象
static void method(){} //类方法
void method(){} //实例(对象)的方法
静态不能访问非静态(实例);实例成员可访问静态成员
静态能用类名访问,实例只能用对象访问
class Room
{
String name;
String where;
String age;
String grade;
void go1(){
System.out.println("7:30 o'clock go class");}
void go2(){
System.out.println("8 o'clock go class");
System.out.println(sex);}
static void partner(){
System.out.println("best friend");}
static String sex;
static void h(){
sex="girl";}
public static void main(String[] args)
{
Room r1=new Room();
Room r2=new Room();
r1.name="zhang sha ";
r1.where="chun hua ";
r1.age="24";
r1.grade="class 1 ";
r1.go1();
r1.partner();
r1.h();
System.out.println(r1.name);
System.out.println(r1.age);
System.out.println(r1.where);
System.out.println(r1.grade);
System.out.println("---------------------------------");
r2.name="he jun ";
r2.where="chang an ";
r2.age="22";
r2.grade="class 2 ";
r2.go2();
r2.partner();
System.out.println(r2.name);
System.out.println(r2.age);
System.out.println(r2.where);
System.out.println(r2.grade);
System.out.println("---------------------------------");
h();
System.out.println(sex);
}
}
5.构造器 构造方法 构造函数——构造对象的时候用的方法
构造方法是定义在 Java 类中的一个用来初始化对象的方法。
对象的成员变量。
构造方法与类同名且没有返回值。
使用 new + 构造方法 创建一个新的对象。
当没有指定构造方法时,编译器为类自动添加无参的构造方法。
如果已有,编译器就不再添加了。 构造器可
以重载
class Student
{
/*Student(String s){
System.out.println("...");}
Student(int i){
System.out.println("...11");}
Student(float f){
System.out.println("...22");}
Student(long l){
System.out.println("...33");}*/
Student(){
System.out.println("...44");}
public static void main(String[] args)
{
Student t1=new Student(11111111);
//Student t2=new Student(1.2f);
/*---------- 编译 ----------
错误: 无法将类 Student中的构造器 Student应用到给定类型;
Student t1=new Student(11111111);
^
需要: 没有参数
找到: int
原因: 实际参数列表和形式参数列表长度不同*/
//Student t3=new Student();
}
}
6.this 当前对象,只能写在实例的方法内
this. 访问,调用类的属性和方法
this();转发构造器,写在构造器第一行
class Studen
{
String age;
Studen(String age){
this(12);//this()转发构造器,必须写在第一行
this.age=age;//this.访问/调用类的属性和方法;this只能用在实例/对象的方法内
System.out.println("hihi");}
Studen(int i){
this(12.3);
System.out.println("hihihihi");}
Studen(double d){
//this("1");//递归构造器调用,报错
System.out.println("hihi123");}
public static void main(String[] args)
{
Studen s=new Studen("123466");
}
}
7.static{} //静态块
class Cat
{
static int charc=100;
final String TYPE="123";
static{
charc=1000;
System.out.println("Scor1");}
static{
System.out.println("Scor2");
name="ll";}
static String name;
static{
System.out.println("Scor3");}
static{
System.out.println("Scor4");}
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
8.类的管理类Class:Class.forName("");
class Pig
{
public static void main(String[] args) throws Exception
{
//System.out.println(Cat.TYPE);//无法从静态上下文中引用非静态变量TYPE;TYPE为常量
//System.out.println(Cat.name);
Class.forName("Cat");
}
}
9.常量声明:只能声明一次,名称大写
1)final String ADDRESS="aa";
2)final String ADDRESS;
ADDRESS="aa";
final定义类表示类不可以被继承;
定义方法不可以被重载;
定义变量表示变量值不可以被改变。
- java 学习记录4
- java的学习记录4
- Java并发编程学习记录#4
- java学习记录20061008
- java学习记录
- java学习记录
- java API学习记录
- java学习记录
- JAVA 学习记录
- java学习记录
- java学习问题记录
- JAVA学习记录
- 继续记录JAVA学习
- java多线程学习记录
- 【JAVA io】学习记录
- JAVA学习记录-键盘输入
- java学习琐碎记录
- 学习java记录
- error C1083异常
- android颜色代码
- 编程技巧
- HDU 1176 免费馅饼(数塔变形)
- 删除kvm虚拟机
- java 学习记录4
- 使用EF6和MVC5实现一个简单的选课系统--创建一个比较复杂的数据模型(6/12)
- 线性表知识
- MyEclipse代码提示快捷键和常用设置
- 微营销:内容好才是真的好
- Somali Pirates
- PL/SQL包2(使用包重载)
- 常用的正则表达式笔记
- Java线程(九):Condition-线程通信更高效的方式