对java进行基础的学习。此博客针对个人复习以及笔记。
1.封装性:内部的操作对外部而言不可见;
2.继承性:在上一辈基础上继续发展;
3.多态性:这是一个最为重要的环节,利用多态性才可以得到良好的设计;
1.OOA 面向对象分析 Object-Oriented Analysis
2.OOD 面对对象设计 Object-Oriented Design
3.OOP 面向对象编程 Object Oriented Programming
可以进行生活的抽象。
类是引用数据类型,所以类的使用上会牵扯到内存的分配问题。
引用类型就是除了基本类型之外的所有类型。所有的类型在内存中都会分配一定的存储空间,基本的数据类型只有一块存储空间,引用类型有两块。
https://www.cnblogs.com/SilentCode/p/4858790.html
类指的就是一个共性的概念。
对象指的是一个具体的可以使用的事物。
方法:操作的行为。
属性:描述每一个对象的具体特点
class 名称 {
//所有的程序都以{}作为分解符
属性;
属性;
方法(){
}//这里的方法不再是由主类进行调用而是由对象进行调用。
}
class Person()
{
String name;
int age;
public void info()
{
System.out.println("name="+name+"、age="+age);
}
}
类中的可以定义的属性个数和方法数量是没有限制的。
编写的时候,每一个代码不能太长。
不可以,类要使用,必须得通过对象使用。
类名称 对象名称=new 类名称();
声明对象:类对象 对象名称=null;
实例花对象:对象名称=new 类对象();
new出现,开辟空间。
内存不能无限开辟。
性能调优:调整的就是内存问题。
class Person()
{
String name;
int age;
public void info()
{
System.out.println("name="+name+"、age="+age);
}
}
public class TestDemo{
public static void main(String [] args)
{
Person per=new Person();//声明并实例化对象
}
}
属性:对象名称.属性名=内容;
方法:对象名称.方法名()
class Person()
{
String name;
int age;
public void info()
{
System.out.println("name="+name+"、age="+age);
}
}
public class TestDemo{
public static void main(String [] args)
{
Person per=new Person();//声明并实例化对象
per.name="猪猪";//使用属性
per.info();//使用方法
}
}
堆内存空间:保存真正的数据;
栈内存空间:保存的堆内存的地址;
引用类型没有实例化。
只有引用类型才会产生此异常。
本质在于别名,放在了栈内存之中,一块堆内存可以被多个栈内存所指向。
package jichu;
class Person{
String name;
void info()
{
System.out.println("这里是方法"+name);
}
}
public class Demo {
public static void main(String[] args) {
Person p1=new Person();
p1.name="猪猪";
p1.info();
Person p2=p1;
p2.name="老婆";
p1.info();
}
}
在这里的r1和r2指向的是同一个堆内存的地址。只是在栈内存中不一样。类似于c语言中的指针概念。
没有任何栈内存指向的堆内存。
垃圾空间将会被GC(Garbage Collector)垃圾回收器进行回收。
GC会影响会导致程序性能的下架,开发过程中一定要控制好无用对象的产生,尽可能的少产生。